Akrus Games | Unity
2.95K subscribers
408 photos
89 videos
11 files
351 links
Самые годные лайфхаки по unity c#

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
Pattern Matching в C#: Property и Tuple patterns

Зачем?
Упростить проверки сложных условий. Вместо вложенных if — чистый и читаемый код.

Property pattern
Проверяет свойства объекта прямо в условии:

if (weapon is { Ammo: 0, IsReloading: false })
{
// Оружие без патронов и не перезаряжается:
StartReload();
}


Tuple pattern
Идеален для проверки нескольких значений одновременно:

string result = (x, y) switch
{
(0, 0) => "Точка в начале координат",
( > 0, > 0) => "Точка в первой четверти",
( < 0, _) => "Точка слева от оси Y", // _ — любое значение
_ => "Точка в другой области"
};


Где использовать?
• Вместо громоздких if/else для состояний объекта
• Для обработки входных данных (например, результат метода)
• В switch выражениях для возврата значений

Важно!
• Работает в is, switch и switch-выражениях (как выше)
_ — это discard (игнорирование значения)
• В property pattern можно проверять вложенные свойства: Player { Health: { Current: 0 } }

💡 Используй эти паттерны для чистого и безопасного кода. Сокращай количество строк и повышай читаемость!

Пост предложил @u006E10011
#CSharp #Unity #Programming #PatternMatching #UnityDev
8🔥31