Выражение переключения C# 8 с несколькими случаями с одинаковым результатомC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Выражение переключения C# 8 с несколькими случаями с одинаковым результатом

Сообщение Anonymous »

Как можно написать выражение переключения для поддержки нескольких случаев, возвращающих один и тот же результат?
В C# до версии 8 переключатель можно записать следующим образом:

Код: Выделить всё

var switchValue = 3;
var resultText = string.Empty;
switch (switchValue)
{
case 1:
case 2:
case 3:
resultText = "one to three";
break;
case 4:
resultText = "four";
break;
case 5:
resultText = "five";
break;
default:
resultText = "unkown";
break;
}
Когда я использую C# версии 8 с синтаксисом выражений, это выглядит так:

Код: Выделить всё

var switchValue = 3;
var resultText = switchValue switch
{
1 => "one to three",
2 => "one to three",
3 => "one to three",
4 => "four",
5 => "five",
_ => "unknown",
};
Итак, мой вопрос: как превратить случаи 1, 2 и 3 в один переключатель-case-arm, чтобы значение не нужно было повторять?Обновление каждого предложения от «Руфуса Л»:
Для моего примера это работает.

Код: Выделить всё

var switchValue = 3;
var resultText = switchValue switch
{
var x when (x >= 1 && x  "one to three",
4 => "four",
5 => "five",
_ => "unknown",
};
Но это не совсем то, чего я хочу достичь. Это по-прежнему только один случай (с условием фильтра), а не несколько случаев, дающих один и тот же правый результат.

Подробнее здесь: https://stackoverflow.com/questions/566 ... ame-result
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»