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

C# - pattern matching - many discards

22.02.24 13:58
Re: C# - pattern matching - many discards
 
alex445 коренной житель
в ответ Murr 22.02.24 01:57, Последний раз изменено 22.02.24 14:04 (alex445)
Самый простой вопрос - у тебя два и более различаемых условий независящих от переменной в свитче - что писать будешь?

Свободно можно использовать. Как я выше написал - сначала нужен костыль-значение с типом переменной, или дискард, а затем "when" и далее любые проверки с любыми переменными из контекста, в котором находится данный свитч. Разве что результат такой проверки должен быть булевым.


Про производительность не знаю. По-моему, раз все эти проверки условий (if-else, switch) взаимозаменяемы, то они генерятся в одинаковый исполняемый код. Их разные записи - лишь для удобства использования в разных случаях. А значит вопрос производительности того или другого высокоуровневого кода не стоит - стоит вопрос производительности итогового исполняемого кода. Ну, думаю, там какую-нибудь хеш-таблицу замутили на все обозначенные программистом комбинации условий, так что при проходе по ветке условий сразу нужная имплементация выполняется.

 

Перейти на