В switch есть диапазон значений?

293
23 декабря 2016, 11:15

Что-то такое:

switch (val)
{
     case -1...1:
Answer 1

Диапазон написать нельзя, но можно его сымитировать таким образом, указав несколько case для одного блока:

switch (number)
{
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        //...
        break;
    case 6:
    case 7:
    case 8:
    case 9:
    case 10:
        //...
        break;
}

Возможно в C#7 появилась возможность записи диапазонов, но у меня нет возможности проверить.

Answer 2

Используй алтернативу switch -- ifElse

Или сделай как примере :

int mynumbercheck = 1000;
var myswitch = new Dictionary <Func<int,bool>, Action>
{ 
         { x => x < 10 ,    () => //Do this!...  },  
         { x => x < 100 ,    () => //Do this!...  },
         { x => x < 1000 ,    () => //Do this!...  },
         { x => x < 10000 ,   () => //Do this!... } ,
         { x => x < 100000 ,  () => //Do this!... },
         { x => x < 1000000 ,  () => //Do this!... }
};

Вызов

myswitch.First(sw => sw.Key(mynumbercheck)).Value();
READ ALSO
inline термин в контексте C# / JIT компилятора

inline термин в контексте C# / JIT компилятора

Добрый деньСтолкнулся с таким вопросом,а именно хочу четко понять определение термина,такого как inline метод, соответственно в контексте C#(чтобы...

318
Обобщенный тип и неявное\явное указание типа

Обобщенный тип и неявное\явное указание типа

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

246
Исключения при создании объекта класса [требует правки]

Исключения при создании объекта класса [требует правки]

Народ, есть класс - прямоугольный треугольникКак, вопрос, максимально профессионально отлавливать исключения - "где и когда" - если, например,...

320