zoukankan      html  css  js  c++  java
  • 为IEnumerable扩展一个ForEach方法

    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
  • 相关阅读:
    DPDK ring简单说明
    DPDK初始化流程
    从《雪白血红》说起(2)
    从《雪白血红》说起(1)
    苏联印象(1)-过往与想象
    DPDK ip分片与重组的设计实现
    linux协议栈分析-序
    DPDK与QoS(服务质量)
    DPDK LPM路由存储与查找
    《教父》曾说
  • 原文地址:https://www.cnblogs.com/insus/p/5343637.html
Copyright © 2011-2022 走看看