所有分类
  • 所有分类
  • 实时新闻

C#-Linq源码解析之Concat

前言

在Dotnet开发过程中,concat作为ienumerable的扩展方法,十分常用。本文对Concat方法的关键源码进行简要分析,以方便大家日后更好的使用该方法。

使用

Concat连接两个序列。

假如我们有这样的两个集合,我们需要把两个集合进行连接!

不使用Linq

大概会这样写!

使用Linq

源码解析

方法

参数

first 要连接的第一个序列。

second 要连接的第二个序列。

返回值

IEnumerable< TSource > 一个包含两个输入序列的连接元素的 IEnumerable< T>。

此方法通过使用延迟执行来实现,因为IEnumerable是延迟加载的,每次访问的时候才取值。所以我们在返回数据时需要使用yield

所以我们可通过使用 foreach 语句从迭代器方法返回的序列。foreach 循环的每次迭代都会调用迭代器方法。迭代器方法运行到 yield return 语句时,会返回一个 expression,并保留当前在代码中的位置。下次调用迭代器函数时,将从该位置重新开始执行。

源码:

总结

本次通过分析Concat代码,进一步了解了迭代器与yield。

原文链接:https://www.w1ym.com/82763/,转载请注明出处~~~
0

评论0

请先

站点公告

【温馨提示】 本站不建议您对本站支付任何费用或开通任何会员本站99%资源为免费资源只提供共享不提供技术支持,本站资源主要以学习开发为主,本站是为个人资源记录学习研究等情况而建立,如特殊原因下载,需在24小时删除相关资源。本站资源均来自互联网收集或网友分享,若有侵权,请联系站长删除,谢谢。立即查看
显示验证码
没有账号?注册  忘记密码?