改善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();
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章