Re: static String Join
От: Oyster Украина https://github.com/devoyster
Дата: 23.03.10 09:33
Оценка: 3 (1) +1
Здравствуйте, mr_unknowns, Вы писали:

_>И так внимание вопрос, что это за странная проверка:


Там же есть комментарий, который всё и объясняет:

// Note that we may not catch all overflows with this check (since we could have wrapped around the 4gb range any number of times
// and landed back in the positive range.) The input array might be modifed from other threads, 
// so we have to do an overflow check before each append below anyway. Those overflows will get caught down there.

То есть, если значение отрицательное, это означает переполнение — длина новой строки уж точно больше 2-х гигабайт — и памяти не хватит. Может, конечно, и хватить, но строки длиннее int.MaxValue создавать нельзя (свойство string.Length имеет тип int).
... << RSDN@Home 1.2.0 alpha 4 rev. 1419>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.