特に長いクエリでは、使用されるすべてのクラスをnullチェックする必要がないため、コードでnull伝播演算子をよく使用します。
次のコードは、ラムダで null 伝播演算子を使用できないというコンパイル エラーをスローします。
var cnt = humans.AsQueryable().Count(a => a.House?[0].Price == 5000);
エラー :
エラー CS8072 式ツリー ラムダに null 伝播演算子を含めることはできません。
C# は、他に何もできない場合、上記のコードを次のコードに簡単に変換できます。
var cnt = humans.AsQueryable().Count(a => a.House != null && a.House[0].Price == 5000);
C# が何もせず、単にコンパイラ エラーをスローするのはなぜですか?