К сожалению, вы не можете использовать диапазоны, но вы можете использовать when
.
str = i switch
{
int n when (n >= 100) => "asd1",
int n when (n < 100 && n >= 50) => "asd2",
int n when (n < 50) => "asd3",
_ => str
};
или с отклонениями и неявной ссылкой
str = i switch
{
_ when i >= 100 => "asd1",
_ when i < 100 && i >= 50 => "asd2",
_ when i < 50 => "asd3",
_ => str
};
switch (C# ссылка)
Начиная с C# 7.0, поскольку операторы case не должны быть взаимоисключающими, вы можете добавить предложение when, чтобы указать дополнительное условие, которое должно выполняться для этого случая утверждение, которое оценивается как истина. Предложение when может быть любым выражением, которое возвращает логическое значение.