4

想象一下,我有 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
4

1 回答 1

11

也许这就是你想要的:

var q = from f in foo.DefaultIfEmpty()
    from b in bar.DefaultIfEmpty()
    select new {f,b};
于 2013-03-07T15:46:06.253 回答