我的目标是创建一个列表,无论左列或右列更短,都有相同行数的列表。
考虑以下两个查询:
考虑以下两个查询:
var result1 = (from f in list2
join b in list1 on f.index equals b.index into bf
from x in bf.DefaultIfEmpty()
select new { box = (x == null ? String.Empty : x.b), file = f.f });
var result2 = (from b in list1
join f in list2 on b.index equals f.index into bf
from x in bf.DefaultIfEmpty()
select new { l1 = x.f, l2 = (x == null ? String.Empty : b.b) });
其中一个在列表1上检查null并填充空字符串,另一个在列表2上检查null并填充空字符串。
我想找到一个两者都可能发生的例子。顺序不重要,只要左边的每个值或空字符串,在右边都有一个值或空字符串即可。