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>
永远不需要实际同时保存在内存中的所有数字.