Linq Group加入一个Func <inner,outer,bool>?</inner,outer,bool>

时间:2010-10-13 13:17:42

标签: c# linq join .net-4.0

我有 IEnumerable<A>IEnumerable<B> 我想根据A.Test(B)是否返回true来进行群组加入。

keyselector函数似乎不这样做,因为KeySelectors需要返回相同类型的键,以便可以检查它们是否相等。

这里有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

你是对的,GroupJoin无法真正处理这种情况。 这种解决方法会吗?

var res = from aInstance in aSequence 
          select new {
                       A = aInstance,
                       MatchingBs = bSequence.Where(bInstance => aInstance.Test(bInstance))
                     };