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

密钥选择器函数似乎没有执行此操作,因为密钥选择器需要返回相同类型的密钥,以便可以检查它们的相等性。

我在这里想念什么吗?

最佳答案

没错,GroupJoin不能真正处理这种情况。
这个解决方法会做吗?

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

10-06 03:05