Задать вопрос
@INTERNALINTERFERENCE

Почему C# не поддерживает такой паттерн матчинг?

почему я не могу написать вот так:
var matched = obj is { Id: variable }
есть ли какие-то библиотеки, которые позволят так сделать?
  • Вопрос задан
  • 267 просмотров
Подписаться 3 Простой 4 комментария
Решения вопроса 1
C# просто не умеет использовать переменные в паттерн-матчинге и switch-case.
В этом случае можно написать так:
var matched = obj != null && obj.Id == variable;
Ну или так, если кейс более сложный:
var matched = obj is { Id: var id} && id == variable;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы