Как создается объект String? - PullRequest
       1

Как создается объект String?

0 голосов
/ 23 августа 2011

Мне нужно уточнить код ниже.Я знаю, что str.Length вернет количество символов в строке.

string str = "Sample string";
int length = str.Length;

Уточнение: поскольку мы не создаем строковый объект, как строка «Sample string» назначается переменной str

Ответы [ 3 ]

4 голосов
/ 23 августа 2011

Строковый литерал "Sample string" создается компилятором и будет храниться в сборке для вас.Когда вы присваиваете его своей ссылке, вы получаете ссылку на эту литеральную строку.

Существует ldstr инструкция , которая специально загружает литеральные строки из метаданных сборки в объект stringссылка.Это та ссылка, у которой проверено свойство Length.

1 голос
/ 23 августа 2011

Компилятор создает строковый объект для вас.

0 голосов
/ 23 августа 2011

Когда вы говорите "Sample String" в памяти, новый строковый объект создается так же, как если бы вы вызывали new String("Sample String");. Это просто макрос для улучшения читабельности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...