Я знаю, что строки имеют переменную длину, поэтому для хранения им требуется переменное пространство в памяти. Когда мы определяем строковый элемент в struct
, размер struct
будет иметь переменную длину.
В старых языках это удалось с помощью строк фиксированной длины. Однако в C # нет способа определять строки фиксированной длины, и C # довольно хорошо управляет обычными строками в структуре struct
.
Это становится еще более странным, когда мы определяем массив таких struct
s или просто массив строк. В результате любого изменения (уменьшения / увеличения) длины одной строки все forward struct
должны быть сдвинуты.
Как C # обрабатывает строки переменной длины в структурах?