Задать вопрос
@annaTomas

Как работает интернирование строк в C#?

Возник вопрос касательно строк ->

string a = "a";
string b = "a";
bool c = ReferenceEquals(a, b); // true

Как я поняла, происходит это из-за интернирования строк, но что это такое и как работает разобраться не смогла, может сможете объяснить или подкинуть какие-то источники.
  • Вопрос задан
  • 233 просмотра
Подписаться 3 Простой Комментировать
Решения вопроса 1
Подробнее можно почитать в книге CLR via C#.

Но если коротко, то все строковые литералы компилятор помещает в отдельную область памяти и заменяет все ссылки на них.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы