Выбор ответа Junior Строки спрашивают часто обновлено

Что делает Replace со строкой

Вопрос

Что выведет код?

string s = "hello";
s.Replace("o", "O");
Console.WriteLine(s);

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: hello. Строки в .NET неизменяемы.

Варианты ответа

  1. hellO
  2. HELLO
  3. helloправильный ответ
  4. Ошибка компиляции: результат Replace не используется

Разбор

Строки в .NET неизменяемы. Replace не меняет s, а возвращает новую строку, которую здесь выбросили. Поэтому печатается исходное hello. Компилятор не требует использовать результат, это лишь предупреждение анализаторов. Правильно: s = s.Replace("o", "O");.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.