0
我有這個羣組加入:LINQ的羣組加入與DefaultIfEmpty
var groupjoin = cData.GroupJoin(
aData,
c => c.Id,
a => a.Id,
(c, joined) => new { c, a = joined.DefaultIfEmpty() })
.ToList();
在我的測試數據,沒有匹配。所以,我有這樣的代碼:
var difference = groupjoin.FirstOrDefault(g =>
g.a == null);
我期待difference
,使之與作爲目標物從cData
一個「C」屬性的匿名對象,而「一」屬性,該屬性爲null。
但是,g.a == null
從來就不是真的,所以FirstOrDefault
給我一個空的difference
。實際上,g.a
是DefaultIfEmptyIterator
和g.a.ToList()
給了我1的計數,並且g.a.ToList[0] == null
是正確的。
我在這裏做了什麼錯?
如果你使用'Join',你的假設是正確的。 'GroupJoin'是不同的,請參閱下面的答案。 –