Linq到实体连接与群连接我已经在网上搜索过了,但是我仍然找不到一个简单的答案。有谁能(用简单的英语)解释一下GroupJoin是?它和一个正常的内在有什么不同?Join?它常用吗?它只用于方法语法吗?查询语法呢?一个c#代码示例会很好。
2 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
要理解GroupJoin所做的事情,最好的方法就是考虑加入。在那里,我们的总体想法是,我们查看“外部”输入序列,从“内部”序列中找到所有匹配的项(基于每个序列上的关键投影),然后生成一对匹配的元素。GroupJoin是类似的,只不过它不是生成一对元素,而是根据每个“外部”项和匹配“内部”项的顺序为每个“外部”项生成一个结果。.
唯一的区别是返回语句:
加入:
var lookup = inner.ToLookup(innerKeySelector, comparer); foreach (var outerElement in outer) { var key = outerKeySelector(outerElement); foreach (var innerElement in lookup[key]) { yield return resultSelector(outerElement, innerElement); } }
GroupJoin:
var lookup = inner.ToLookup(innerKeySelector, comparer); foreach (var outerElement in outer) { var key = outerKeySelector(outerElement); yield return resultSelector(outerElement, lookup[key]); }
- 2 回答
- 0 关注
- 401 浏览
添加回答
举报
0/150
提交
取消