У меня был следующий оператор, который всегда возвращает null:
var addins = allocations.SelectMany(
set => set.locations.Any(q => q.IsMatch(level, count))
? (List<string>)set.addins : null
);
Я немного изменил его, и теперь он работает нормально:
var addins = allocations.SelectMany(
set => set.locations.Any(q => q.IsMatch(level, count))
? set.addins : new List<string>()
);
Мой основной вопрос: почему null не может служить типом, возвращаемым тернарным оператором в этом контексте LINQ?
Второй вопрос: Есть ли более умный способ сформулировать вышеупомянутый запрос (особенно если он исключает «новый список ()»)?