Мне нужно уточнить код ниже.Я знаю, что str.Length вернет количество символов в строке.
string str = "Sample string"; int length = str.Length;
Уточнение: поскольку мы не создаем строковый объект, как строка «Sample string» назначается переменной str
Строковый литерал "Sample string" создается компилятором и будет храниться в сборке для вас.Когда вы присваиваете его своей ссылке, вы получаете ссылку на эту литеральную строку.
"Sample string"
Существует ldstr инструкция , которая специально загружает литеральные строки из метаданных сборки в объект stringссылка.Это та ссылка, у которой проверено свойство Length.
ldstr
string
Length
Компилятор создает строковый объект для вас.
Когда вы говорите "Sample String" в памяти, новый строковый объект создается так же, как если бы вы вызывали new String("Sample String");. Это просто макрос для улучшения читабельности.
"Sample String"
new String("Sample String");