在C#中生成数字列表

我经常需要生成数字列表。 间隔可以有相当多的数字。 我有这样的一个方法:

public static int[] GetNumbers(int start, int end) { List<int> list = new List<int>(); for (int i = start; i < end; i++) list.Add(i); return list.ToArray(); } 

有没有办法让它更简单,更快?

我正在使用.NET 3.5

这可能会更快一些 – 当然更简单:

 int[] values = Enumerable.Range(start, end - start).ToArray(); 

你确实需要它作为一个数组虽然? 如果只需要遍历它,就可以直接使用Enumerable.Range来获得一个IEnumerable<int> ,它永远不需要实际同时保存所有的数字。