是的,使用Enumerable.Repeat:
var myList = Enumerable.Repeat("myString", 50).ToList();
或者这个:
var myList = new List<string>(Enumerable.Repeat("myString", 50));
如果您有一个现有的列表想要添加这些元素,请使用以下方法:
myList.AddRange(Enumerable.Repeat("myString", 50));
请注意,这并不是严格意义上的LINQ,而是使用与LINQ一起添加的扩展方法来支持新语法。仅使用LINQ(即“from ... select”语法)时,情况有所不同,那么我会这样做:
var myList = (from idx in Enumerable.Range(0, 50) select "myString").ToList();
然而,我并不会真的这样做,我会使用Enumerable
的方法。
另外,如果你想要创建不同的字符串,取决于你添加的是第一个、第二个、第三个等等,你可以使用Enumerable.Range代替:
var myList = Enumerable.Range(0, 50).Select(idx => "myString#" + idx).ToList();
将创建一个字符串列表,其中包含myString#0
、myString#1
、myString#2
等。