Что такое запрос LINQ, чтобы получить декартово произведение, даже если один набор пуст?
Представьте, что у меня есть 2 списка, и один из них пуст:
List<string> foo = new List<string>(){ "Ali","wall-e","Ellie" };
List<string> bar = new List<string>();
И я получаю декартово произведение 2:
var q = from f in foo
from b in bar
select new {f,b};
Поскольку bar пуст, LINQ возвращает пустой результирующий набор.
Вопрос :
Как я могу написать приведенный выше запрос, чтобы получить этот результирующий набор:
Ali,NULL
Wall-e,NULL
Ellie,NULL
1 ответ:
Может быть, это то, что вы хотите:
var q = from f in foo.DefaultIfEmpty() from b in bar.DefaultIfEmpty() select new {f,b};
Comments