2
我有 IEnumerable<A>
和IEnumerable<B>
我想基於A.Test(B)
是否返回true
來進行組連接。Linq Group使用Func <Inner,Outer,bool>加入?
keyselector funcs似乎不這樣做,因爲KeySelectors需要返回相同類型的鍵,以便可以檢查它們是否相等。
有什麼我在這裏失蹤?
我有 IEnumerable<A>
和IEnumerable<B>
我想基於A.Test(B)
是否返回true
來進行組連接。Linq Group使用Func <Inner,Outer,bool>加入?
keyselector funcs似乎不這樣做,因爲KeySelectors需要返回相同類型的鍵,以便可以檢查它們是否相等。
有什麼我在這裏失蹤?
你說得對,GroupJoin
不能真正處理這種情況。 此解決方法可以解決嗎?
var res = from aInstance in aSequence
select new {
A = aInstance,
MatchingBs = bSequence.Where(bInstance => aInstance.Test(bInstance))
};
是的,它會的。爲了所有的實際目的,它會這樣做。通常我不會再看一眼。閱讀「真實世界的功能編程」後,我只是有點謹慎。當謂詞和結果選擇器混合在一起時,該死的書不會讓我放心。我不相信我實際上在C#中使用curry func(predicate-> resultselector)來可視化,以便調整我發現的新功能敏感性。雖然不是很重要。如果有的話,它自然會成爲我自己的GroupJoin超負荷。感謝您的迴應。 – Tormod 2010-10-13 15:18:10
@Tormod:純粹主義者,我明白了! – Ani 2010-10-13 20:58:15
崇拜者純粹主義者:) – Tormod 2010-10-14 06:11:30