在C#中生成数字列表

Rob*_*ood 50 .net c# .net-3.5 visual-studio

我经常需要生成数字列表.间隔可以有很多数字.我有这样的方法:

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();
}
Run Code Online (Sandbox Code Playgroud)

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

我使用的是.NET 3.5

Jon*_*eet 120

这可能会快一点 - 而且它当然更简单:

int[] values = Enumerable.Range(start, end - start).ToArray();
Run Code Online (Sandbox Code Playgroud)

你肯定需要它作为阵列吗?如果你只需要迭代它,你可以直接使用Enumerable.Range,以获得一个IEnumerable<int>永远不需要实际同时保存在内存中的所有数字.

  • @xameeramir:我看不到那里的图案,这让人很难说... (2认同)