.NET泛型中的ForEach扩展方法源码
今天在使用ForEach的时候,不知道内部是用的FOR还是ForEach,于是想看看它的源码实现,
F12找到地址,
#region 程序集 mscorlib.dll, v4.0.30319
// C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\Profile\Client\mscorlib.dll
#endregion
打开后发现,空空如也!!如图:
于是就动手简单写了下,理解应该是用的FOREACH,如下:
- /// <summary>
- /// Each,ForEach,叫什么无所谓了
- /// </summary>
- public static void Each<T>(this IList<T> t,Action<T> action)
- {
- foreach (T i in t)
- {
- action(i);
- }
- }
简单测试下,没问题:
- static void Main(string[] args)
- {
- List<int> intArry = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- intArry.Each((int i) => { Console.WriteLine(i.ToString()); });
- Console.Read();
- }
小小的DEMO,完了!
============ 欢迎各位老板打赏~ ===========
与本文相关的文章
- · c# 反射赋值扩展方法
- · .NET中的泛型
- · The instance of entity type ‘Customer’ cannot be tracked because another instance with the same key value for {‘Id’} is already being tracked.
- · .NET8实时更新nginx ip地址归属地
- · 解决.NET Blazor子组件不刷新问题
- · .NET8如何在普通类库中引用 Microsoft.AspNetCore
- · .NET8 Mysql SSL error
- · ASP.NET Core MVC的Razor视图渲染中文乱码的问题
- · .NETCORE 依赖注入服务生命周期
- · asp.net zero改mysql
- · .NET5面试汇总
- · .Net连接Mysql数据库的Convert Zero Datetime日期问题
怀念曾经写DEMO的日子!
以下引自MSDN
——————
与传统的 foreach 循环相比,LINQ 查询具有三大优势:
1.它们更简明、更易读,尤其在筛选多个条件时。
2.它们使用最少的应用程序代码提供强大的筛选、排序和分组功能。
3.无需修改或只需做很小的修改即可将它们移植到其他数据源。