我的目标是创建一个在右侧或左侧具有相同行数的列表,而不管左列或右列是否比另一列短。
考虑以下两个查询:
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) });
一个在 list1 上测试 null 并填写一个空字符串,另一个在 list2 上测试 null 并填写一个空字符串。
我想找到一个两者都可能发生的例子。顺序并不重要,只是左边的每个值或空字符串,右边都有一个值或空字符串。