我遇到了,我需要添加一個很長的值(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);
}
由於
您應該說明您真正想要做什麼,因爲您無法真正需要600B數字的5TB數組! – Gabe 2012-01-05 06:56:24
這真的是個好主意嗎?您是否意識到該列表需要[4.37 terabytes](https://www.google.com/search?hl=en&q=600851475143%20\*%2064%20bit)內存? – Kobi 2012-01-05 06:56:41
您的系統是否有600,851,475,143 x 8字節=我相信〜6 TB的RAM?如果沒有,那麼爲什麼你不期望這會填滿你的記憶? – 2012-01-05 06:57:30