switch
операторы работают с постоянными значениями.
Итак, это действительно:
var val = 2;
switch (val)
{
case 1:
// Do something if val is 1.
break;
case 2:
// Do something if val is 2.
break;
default:
// Do something for all values of val other than 1 or 2.
break;
}
Но вы хотите преобразовать if-else
, который имеет дело с диапазонами.Это тоже с double
диапазонами.Это невозможно, поскольку switch
не позволяет вам работать с диапазоном.
Если ваши диапазоны int
, вы можете гипотетически написать case
для каждого значения в ярости, ноэто абсолютно бессмысленно.
Скажем, вы хотите что-то сделать, если значение находится между int
1-3, и что-то еще, если оно находится между 4-6.Вы могли бы написать что-то вроде следующего, но это было бы бессмысленно.Вам лучше придерживаться if-else
.
var val = 2;
switch (val)
{
case 1:
case 2:
case 3:
// Do something if val is between 1-3.
break;
case 4:
case 5:
case 6:
// Do something if val is between 4-6.
break;
default:
// Do something for all other values of val
break;
}