Мой первый вопрос к вам будет, диктуют ли ваши требования необходимость строки фиксированной длины? Если это так, то символ [] действительно может быть тем, что вы намереваетесь использовать.
.NET Framework не использует строки в стиле C (массивы символов) напрямую, а вместо этого представляет строки с помощью неизменяемых ссылок. Когда строка добавляется или изменяется, вы фактически создаете новый строковый объект в памяти. Это желаемая особенность платформы, но она требует рассмотрения, так как ожидание магического изменения размера струн может привести к нежелательным побочным эффектам.
Вернуться к вашему вопросу. «Как C # управляет строками в структурах?»
Один из двух способов интерпретировать этот вопрос из того, что я вижу:
1). Как я могу создать структуры, содержащие строки, и как .NET Framework управляет строками в этом сценарии?
Краткий ответ: имейте в виду, что строки являются неизменяемыми типами. Создайте свою структуру как обычно и поймите, что структура содержит только ссылку на строку, а не магически изменяющийся сегмент структуры, который расширяется и включает вашу изменчивую строку.
2). Как .NET Framework может изменять размеры строк, если они представляют собой тип значения, представленный структурами.
Краткий ответ, это не так. Это не то, как .NET работает со строками, см. Выше.