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

В чем разница switch expression и switch statement?

Всем привет. Не могли бы помочь понять в чем разница в чем разница switch expression и switch statement? В интернета инфа есть, но она не особо помогает, вот. Буду очень благодарен. Язык C#
  • Вопрос задан
  • 4258 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
switch-statement - это обычный switch, который
int result;
switch(something) {
case "a":
  result = 1;
  break;
case "b":
  result = 2;
  break;
default:
  result = 3;
  break;
}

switch-expression - это новый вид управляющей конструкции, который добавили в C# 8
var result = something switch {
    "a" => 1,
    "b" => 2,
     _ => 3
}

Его особенности по сравнению с switch-statement:
1. Он exhaustive - это значит, что компилятор заставит вас обработать все возможные варианты, в отличие от switch-statement
2. Это выражение. Это значит, что результат его выполнения можно положить в переменную.

switch-expression относится к switch-statement также, как тернарный оператор относится к if.

Подробнее читать тут:
https://docs.microsoft.com/en-us/dotnet/csharp/lan...
https://docs.microsoft.com/en-us/dotnet/csharp/lan...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Akina
Сетевой и системный админ, SQL-программист.
Switch statement - это инструкция ветвления направления исполнения кода в зависимости от условия.

Switch expression (хотя правильнее было бы назвать Switch function) - это фактически функция, которая выбирает одно из альтернативных выражений для вычисления значения в зависимости от условий.
Ответ написан
Ваш ответ на вопрос

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

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