Поскольку .NET не использует стиль C null
s для завершения строки, как я могу сохранить выделенную строку, но изменить ее длину с помощью небезопасного кода?
Как я понимаю .NET, использующий 20-байтовый заголовок для каждой строки, предположительно, это где длина строки хранится, есть ли способ напрямую изменить эту длину? Поэтому .NET будет хранить строку в памяти, но когда я вызову .Length
, он вернет .Length
, который я хочу.
если это возможно, также было бы интересно услышать все безумные возможные побочные эффекты этого
UPDATE
Я пытаюсь сделать это без использования отражения.