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