Я использовал отражение, чтобы посмотреть на внутренние поля System.String, и нашел три поля:
m_arrayLength
m_stringLength
m_firstChar
Я не понимаю, как это работает.
m_arrayLength - длина некоторого массива. Где этот массив? По-видимому, это не поле члена строкового класса.
m_stringLength имеет смысл. Это длина строки.
m_firstChar - первый символ в строке.
Так что мой вопрос: где остальные символы для строки? Где хранится содержимое строки, если не в строковом классе?