Сегодня я заметил, что класс String в C# возвращает длину строки в виде целого числа. Поскольку Int всегда 32-битный, независимо от архитектуры, означает ли это, что длина строки может составлять только 2 ГБ или меньше?
Строка размером 2 ГБ была бы очень необычной и создавала бы множество проблем. Однако большинство API .NET, похоже, используют «int» для передачи таких значений, как длина и количество. Означает ли это, что мы навсегда ограничены размерами коллекций, которые укладываются в 32 бита?
Это кажется фундаментальной проблемой API .NET. Я ожидал, что такие вещи, как количество и длина, будут возвращены через эквивалент 'size_t'.
Подробнее здесь: https://stackoverflow.com/questions/310 ... gb-in-size