继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

为IEnumerable扩展一个ForEach方法

慕仔4209126
关注TA
已关注
手记 304
粉丝 69
获赞 305

IEnumerable没有一个ForEach方法,我们可以使用C#写一个扩展方法:


Source Code:

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Insus.NET.ExtendMethods{  public static class Enumerables    {                public static void ForEach<T>(this IEnumerable<T> source, Action<T> action)        {            foreach (T item in source)            {                action(item);            }        }    }}

View Code

 

下例中,Insus.NET列举一个IEnumerable数据集,然后使用这个方法来获取其中的元素:


Source Code:

public IEnumerable<IDictionary<string, object>> Links()        {            var dict = new Dictionary<string, object>();            dict["Index"] = "新产品介绍";            dict["Manufacturing"] = "制造能力/流程";            dict["DieCasting"] = "压铸";            dict["Machining"] = "加工";            dict["AssemblyFinishing"] = "组装&成品";            dict["TestReliability"] = "测试和可靠性";            dict["KeyCustomer"] = "关键客户";            yield return dict;        }

View Code

 

ForEach方法应用:

 

Source Code:

obj.Links().ForEach(delegate (IDictionary<string, object> dict) {            foreach (KeyValuePair<string, object> kvp in dict)            {                    //kvp.Key                    //kvp.Value            }        });

View Code

 

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP