Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

C# - У чего приоритет больше - у операторов или паттернов?

28.11.22 16:55
Re: C# - У чего приоритет больше - у операторов или паттернов?
 
alex445 коренной житель
в ответ alex445 22.11.22 21:47

Вобщем, эта штука удобна в том числе, когда надо проверить переменную на соответствие некоторым значениям перечисления.


Если много разных кейсов обработки переменной на разные значения перечисления - то лучше выражение switch -

weekDay switch =>

{

DaysOfWeek.Monday => ...,

DaysOfWeek.Tuesday => ...,

DaysOfWeek.Wednesday => ...,

...

_ =>

};


Если один кейс на меньшинство значений перечисления, то лучше паттерн "is (or...)" -

bool isHoliday = weekDay is (DaysOfWeek.Saturday or DaysOfWeek.Sunday);


Если один кейс на большинство значений перечисления, то лучше паттерн "is not (or...)" -

bool isWorkingDay = weekDay is not (DaysOfWeek.Saturday or DaysOfWeek.Sunday);


Всё это можно и операторами написать, конечно, но будет раза в полтора длинее и больше разных значков, тогда как выражения с паттернами в основном состоят из слов.

 

Перейти на