改善C#程序157个建议——建议37学习笔记:使用Lambda表达式代替方法和匿名方法

  class Program
    {
        static void Main(string[] args)
        {
            Func<int, int, int> add = Add;
            Action<string> print = Print;
            print(add(1, 2).ToString());
            Console.ReadKey();
       
        }
        static int Add(int i, int j)
        {
            return i + j;
        }
        static void Print(string msg)
        {
            Console.WriteLine(msg);
        }
    }

从以上的方法中注意到:Add方法和Print方法只有一条语句,因此使用匿名方法改写。

static void Main(string[] args)
        {
          Func<int,int ,int> add=new Func<int, int, int >(delegate(int i,int j)
          { return i + j; });
            Action<string> print = new Action<string>(delegate (string msg)
              { Console.WriteLine(msg); });
            print(add(1, 2).ToString());
            Console.ReadKey();
        }

Lambda表达式实现:

 static void Main(string[] args)
        {
            Func<int, int, int> add = (i, j) => { return i + j; };
            Action<string> print = (msg) =>
            { Console.WriteLine(msg); };
            
            print(add(1, 2).ToString());
            Console.ReadKey();
        }

猜你喜欢

转载自blog.csdn.net/hhhhhhhhhhwwwwwwwwww/article/details/106663558
今日推荐