Небезопасный код для изменения длины (путем мутации!) объекта String?

Поскольку .NET не использует nullы в стиле C для завершения строки, как я могу сохранить выделенную строку, но изменить ее длину с помощью небезопасного кода?

Насколько я понимаю, .NET использует 20-байтовый заголовок для каждой строки, предположительно здесь хранится длина строки, есть ли способ напрямую изменить эту длину? То есть .NET будет хранить строку в памяти, но когда я вызову .Length, она вернет .Length, которую я хочу.

если это возможно, также было бы интересно услышать все безумные возможные побочные эффекты этого

UPDATE

Я пытаюсь достичь этого без использования отражения.

6
задан dr. evil 18 November 2011 в 01:25
поделиться