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

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

почему я не могу написать вот так:
var matched = obj is { Id: variable }
есть ли какие-то библиотеки, которые позволят так сделать?
  • Вопрос задан
  • 269 просмотров
Подписаться 3 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Stepik
    Профессия "C# разработчик"
    1 неделя
    Далее
  • XYZ School
    C# для разработки игр
    5 месяцев
    Далее
  • Учебный центр IBS
    DEV-001_NET Шаблоны проектирования GoF. Редакция для .NET
    1 неделя
    Далее
Решения вопроса 1
C# просто не умеет использовать переменные в паттерн-матчинге и switch-case.
В этом случае можно написать так:
var matched = obj != null && obj.Id == variable;
Ну или так, если кейс более сложный:
var matched = obj is { Id: var id} && id == variable;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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