2010-09-20 16 views

cevap

15

Tüm referans türlerinin (string gibi) örneklerinin maksimum boyutu CLR'den 2GB'a kadar ile sınırlıdır. .NET'teki bir karakter 2 bayt aldığından, bu bir dizenin en fazla yaklaşık 1 milyar karakter tutabileceği anlamına gelir.

.NET dizelerinin gerçekten bu boyutlar için tasarlanmadığını unutmayın. Değişmezler ve tüm string işlemleri yeni string örnekleri oluşturur. Bu büyük veriye sahip olduğunuzda, algoritmalarınızı ve bellekte (ve büyük olasılıkla disk üzerinde, gerçekten büyük veri için) özel olarak tasarlamanız gerekir.

+0

CLR'de 2GB'lık bir sınırın neden "1G karakterleri" ne eşit olduğunu açıklayabilir misiniz? – StriplingWarrior

+0

@StriplingWarrior: Her karakterin .NET'te 2 bayt aldığını unutmayın. – dtb

+0

11 milyon karakter dizesi değişkenini ayarlayamıyorum? Doğru mu? – Farna

İlgili konular