none
为什么System.Linq.Enumerable类不定义一个ForEach方法? RRS feed

  • 问题

  • 类似的,Array.ForEach<T>, List<T>.ForEach 都定义了。

    我觉得我经常需要ForEach。
    class Program
        {
            static void Main(string[] args)
            {
                Type type = typeof(System.Text.RegularExpressions.Regex);
                var methodInfoArray = type.GetMethods();
                var testList = (from p in methodInfoArray where p.IsStatic select p.Name).Distinct();
                testList.ForEach(o => Console.WriteLine(o));
               
                Console.ReadLine();
            }
        }

        public static class ForEachClass
        {
            public static void ForEach<T>(this IEnumerable<T> t, Action<T> fn)
            {
                foreach (var item in t)
                {
                    fn(item);
                }
            }
        }
    2008年12月17日 6:44

答案