Проверки диапазонов в C# легко превращаются в цепочки сравнений с && и ||. Паттерны позволяют записать их компактнее.
С C# 9 условия можно комбинировать прямо внутри pattern matching:
string Grade(int score) => score switch
{
< 0 or > 100 => "некорректно",
>= 90 => "отлично",
>= 60 and < 90 => "нормально",
_ => "плохо",
};
not особенно удобен для проверок:
if (value is not null)
Process(value);
if (obj is not string)
return;
Паттерны можно комбинировать и с проверкой свойств:
bool IsAdultAdmin(User u) =>
u is { Age: >= 18, Role: "admin" };
Вместо нескольких if получаем одно выражение, где условие читается почти как обычная фраза.
💡 Особенно хорошо такой синтаксис работает там, где нужно описать форму данных или диапазон допустимых значений.
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека шарписта
#sharp_view