TGViewer
Akrus Games | Unity Akrus Games | Unity @akrusunity · 2.67K subscribers
Post #751 339
⚡️ Pattern Matching в C# — твой чит-код для чистого кода

Устал от горы if-else и switch? Pattern Matching — это как «умный» switch на стероидах. Проверяй тип, структуру и значения в одной строке.

🎯 2 способа использовать Pattern Matching уже сегодня:

1️⃣ Type Patterns — замена громоздким проверкам типа

// Было:
if (enemy is Boss)
{
((Boss)enemy).SpecialAttack();
}

// Стало:
if (enemy is Boss boss)
{
boss.SpecialAttack(); // Без кастов!
}

// Идеально для обработки разных типов врагов:
void ProcessEnemy(Enemy enemy)
{
switch (enemy)
{
case Boss b:
b.StartBossFight();
break;
case FlyingEnemy f when f.IsFlying:
f.DiveAttack();
break;
default:
enemy.Patrol();
break;
}
}


2️⃣ Property Patterns — проверяй свойства объектов

// Мощная фильтрация прямо в switch:
string GetAttackType(Weapon weapon) => weapon switch
{
{ Damage: > 100, Type: "Fire" } => "Критическая огненная атака!",
{ Ammo: 0 } => "Оружие пусто!",
_ => "Обычный удар"
};

// Отлично для системы диалогов:
var reaction = npc switch
{
{ Mood: "Angry", Level: > 5 } => "Гневная реплика",
{ QuestCompleted: true } => "Благодарность",
_ => "Стандартный диалог"
};


💡 Запомни:
- is с деконструкцией — убирает касты
- switch с паттернами — заменяет гигантские if-else
- when добавляет условия

🚀 Результат: Меньше кода, меньше ошибок, лучше читаемость. Особенно в игровой логике!

#️⃣ P.S. Используешь уже? Делись кейсами в комментах!

🔔 Подпишись — каждый день полезные фишки по Unity и C#
  • 🔥 7
  • ❤ 4
  • 🎄 1
More from @akrusunity
  1. Sep 29, 2026Чей синьор?
  2. Sep 22, 2026Я добавил релиз(я в начале не догадался, что через консоль можно прикреплять файлы любого…
  3. Sep 21, 2026https://github.com/Akrus001/YoutubeDownloader Я выложил на гитхаб переделанную версию Yout…
  4. Sep 16, 2026Я хотел запустить Youtube Downloader, но... Нейронка это уже исправила и сейчас пытается с…
  5. Sep 13, 2026Сегодня 2**8 день года и это значит что... Сегодня день программиста!!!😎⌨️🧑‍💻 (вайбкоде…
  6. Sep 8, 2026Post #1035
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 →