【发布时间】:2010-10-13 13:17:41
【问题描述】:
我有
IEnumerable<A> 和 IEnumerable<B>
我想根据A.Test(B) 是否返回true 进行群组加入。
keyselector 函数似乎没有这样做,因为 KeySelector 需要返回相同类型的键,以便检查它们是否相等。
这里有什么我遗漏的吗?
【问题讨论】:
我有
IEnumerable<A> 和 IEnumerable<B>
我想根据A.Test(B) 是否返回true 进行群组加入。
keyselector 函数似乎没有这样做,因为 KeySelector 需要返回相同类型的键,以便检查它们是否相等。
这里有什么我遗漏的吗?
【问题讨论】:
你说得对,GroupJoin 无法真正处理这种情况。
这种解决方法可以吗?
var res = from aInstance in aSequence
select new {
A = aInstance,
MatchingBs = bSequence.Where(bInstance => aInstance.Test(bInstance))
};
【讨论】: