一行代码使用扩展方法

  //1.求m在数组a中出现的次数
        static int AppearanceTimeinArray(int[] a, int m)
        {
                   //第一个参数是一个聚合集(total),
                   
//每一次累计的值都放在第一个(total),第二个是当前元素(next) 2是一个种子,初始值,最终return (total+2)
            return  a.Aggregate(0, (total, next) => next == m ? total + 1 : total);
        }

        //2.求出数组a中最小的num个数
        static int[] Sort(int[] a, int num)
        {
            return a.OrderBy(c => c).Take(num).ToArray();
        }
       
        //3.翻转字符处
        static string Reverse(string input)
        {
            return new string(input.Reverse().ToArray());
        }
       
        //4.求1+2+3...+n=?;
        static int OneByOneAdd(int maxNum)
        {
            return Enumerable.Range(1, maxNum).Sum();
        }

        //求1*2*3*...*n=?
        static int OneByOneMultiply(int maxNum)
        {
            return Enumerable.Range(1, maxNum).Aggregate((total, next) => total * next);
        }
Enumerable为我们提供了很多扩展方法,灵活运用,起到事半功倍的效果。还不错吧
个人签名:天行健,君子以自强不息
原文地址:https://www.cnblogs.com/clc2008/p/2628147.html