为了账号安全,请及时绑定邮箱和手机立即绑定

Linq到实体连接与群连接

Linq到实体连接与群连接

C#
小怪兽爱吃肉 2019-07-16 18:15:39
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]); }


查看完整回答
反对 回复 2019-07-16
  • 2 回答
  • 0 关注
  • 401 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信