Как нужно написать выражение-переключатель для поддержки нескольких случаев, возвращающих один и тот же результат?
При использовании 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 только для одного switch-case-arm, чтобы значениеНе нужно ли повторять?
Обновление по предложению от " Руфус L ":
Для моего данного примера это работает.
var switchValue = 3;
var resultText = switchValue switch
{
var x when (x >= 1 && x <= 3) => "one to three",
4 => "four",
5 => "five",
_ => "unknown",
};
Но это не совсем то, чего я хочу достичь.Это все еще только один случай (с условием фильтра), а не несколько случаев, дающих один и тот же правый результат.