TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.7K subscribers
Post #7240 4.09K
🈶 Паттерны and, or и not. Условия, которые читаются как фраза

Проверки диапазонов в 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
  • 👍 17
  • ❤ 7
  • 🌚 4
More from @csharpproglib
  1. Sep 20, 2026💪 Разминка перед трудовыми буднями Что произойдёт? ❤️ — список станет [1, 3] 🔥 — Invalid…
  2. Sep 19, 2026🧩 Middleware в ASP.NET Core: 3 ловушки Middleware — звено HTTP pipeline: app.Use(async (c…
  3. Sep 18, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸Библиотека шарписта #garbage_collector
  4. Sep 17, 2026🦆 Duck typing в C# — почти как в TypeScript В TypeScript достаточно, чтобы у объекта был…
  5. Sep 17, 2026🧠 Почему .NET-под съедает всю память? kubectl top pod показывает 1 ГБ, а managed heap зан…
  6. Sep 15, 2026🧑‍💻 Забытый await: от race condition до DoS-атаки В C# ключевое слово async — это инстру…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →