更容易的方式来填充整数在.NET中的列表

可能重复:
在.NET中填充整数列表

有没有更简单或更优雅的方式来初始化C#中的整数列表除此之外呢?

List<int> numberList = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 

要么

 for(int i = 1; i <= 10; i++) { numberList.Add(i); } 

这似乎不太实际 – 特别是如果列表包含大量的值。 循环是一个更实际的解决scheme吗?

谢谢,

CC

既然你已经在使用C#,你可以利用Enumerable.Range()方法:

 var numberList = Enumerable.Range(1, 10).ToList(); 

第一个参数是要开始的整数,第二个参数是要包含多less个连续的整数。

如果你的初始化列表和从头到尾连续的一系列值一样简单,你可以这样说

 var numbers = Enumerable.Range(from, end - from + 1) .ToList(); 

如果你的初始化列表有点复杂,可以通过从intint的映射来定义,你可以这样说

 var numbers = Enumerable.Range(from, end - from + 1) .Select(n => f(n)) .ToList(); 

例如:

 var primes = Enumerable.Range(1, 10) .Select(n => Prime(n)) .ToList(); 

会生成前十个素数,假定Prime是一个Func<int, int> ,它接受一个int n并返回第n个素数。