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

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

почему я не могу написать вот так:
var matched = obj is { Id: variable }
есть ли какие-то библиотеки, которые позволят так сделать?
  • Вопрос задан
  • 269 просмотров
Подписаться 3 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Решения вопроса 1
C# просто не умеет использовать переменные в паттерн-матчинге и switch-case.
В этом случае можно написать так:
var matched = obj != null && obj.Id == variable;
Ну или так, если кейс более сложный:
var matched = obj is { Id: var id} && id == variable;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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