扩展枚举范围

本文关键字:范围 枚举 扩展 | 更新日期: 2023-09-27 18:19:40

可能重复:
可枚举.范围实现

我遇到了一个问题,我需要在列表中添加一个很长的值(Int64),值是600851475143,我想创建一个List<Int64>,其中包含该值之前的所有int,但Enumerable.Range有一个限制,即在count参数中,它只接受int值,因为我离那个值很远,我决定遍历列表和所有这些值,但我的系统很快就会耗尽内存,我该怎么办?

List<int64> lst = new List<int64>();
for (Int64 i = 3; i < 600851475143; i=i+2)
{
    lst.Add(i);
}

感谢

扩展枚举范围

正如评论中所指出的,如此大的数组将需要大量的内存。例如,一个更好的选择是为自己创建一个枚举器来在该范围内循环。开始查看此页面,了解如何:http://msdn.microsoft.com/en-us/library/9k7k7cf0.aspx:-)