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

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

почему я не могу написать вот так:
var matched = obj is { Id: variable }
есть ли какие-то библиотеки, которые позволят так сделать?
  • Вопрос задан
  • 270 просмотров
Подписаться 3 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Разработчик игр на Unity
    13 месяцев
    Далее
  • Академия Эдюсон
    Разработчик игр на Unity: тариф Базовый
    6 месяцев
    Далее
  • Stepik
    PRO C#. Профессия "Backend разработчик"
    4 месяца
    Далее
Решения вопроса 1
C# просто не умеет использовать переменные в паттерн-матчинге и switch-case.
В этом случае можно написать так:
var matched = obj != null && obj.Id == variable;
Ну или так, если кейс более сложный:
var matched = obj is { Id: var id} && id == variable;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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