Можно ли в одном case использовать несколько значений?
Говорю именно о case.
int dayNumber = Convert.ToInt32(Console.ReadLine()); switch (dayNumber) case 1||8://значение равное 1 или 8 Console.WriteLine("Понедельник"); break; case 2||9||10://значение 2,9 или 10 ... default: Console.WriteLine("Воскресенье"); break; }
Ответы (2 шт):
Автор решения: tym32167
→ Ссылка
Например так
var myValue = 0;
switch (myValue)
{
case 1:
case 2:
case 3:
Console.WriteLine(myValue);
break;
case 4:
case 5:
case 6:
Console.WriteLine(myValue*2);
break;
default:
Console.WriteLine(myValue*10);
break;
}
Автор решения: Алексей Шиманский
→ Ссылка
В C# 9 можно делать так:
switch(myvar)
{
case 2 or 5:
// ...
break;
case 7 or 12:
// ...
break;
// ...
}
А если это использовать совместно с Switch expressions из C# 8 можно делать:
static string Testy(int dayNumber) => dayNumber switch
{
3 or 4 or 5 => "111",
6 or 7 or 8 => "222",
9 or 10 or 11 => "333",
12 or 1 or 2 => "444",
_ => "Какая-то ерунда",
};