Почему я не могу использовать нулевой оператор распространения в лямбда-выражениях?

Я часто использую нуль-распространяющий оператор в своем коде, потому что он дает мне более читаемый код, особенно в длинных запросах, и мне не нужно проверять ноль каждый отдельный класс, который используется.

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

var cnt = humans.AsQueryable().Count(a => a.House?[0].Price == 5000);

Ошибка :

Ошибка CS8072. В лямбда-выражении дерева выражений может отсутствовать оператор распространения с нулевым значением.

C # Может легко перевести приведенный выше код в код для следующего кода, если на самом деле больше ничего не может сделать!

var cnt = humans.AsQueryable().Count(a => a.House != null && a.House[0].Price == 5000);

Мне любопытно, почему C # ничего не делает и просто выдает ошибку компилятора?

Ответы на вопрос(1)

Ваш ответ на вопрос