Страницы

Поиск по вопросам

пятница, 26 апреля 2019 г.

Эквиваленты ли следующие операторы?

Допустим у меня есть инициализированная строка string s. Являются ли следующие операторы эквивалентными в плане поведения? Генерируется ли разный IL мне не важно.
// 1 s = s + "";
// 2 s = s ?? "";
// 3 s = $"{s}";
Если в каких-либо случаях есть отличия, то, пожалуйста, укажите их.


Ответ

Да, все три выражения дают один и тот же результат при одинаковых параметрах.
Различие могло быть только в обработке значения null, но во всех трех выражениях null будет заменен - пустой строкой.

Комментариев нет:

Отправить комментарий