閱讀98 返回首頁    go 阿裏雲 go 技術社區[雲棲]


C#委托基礎8——lambda表達式

 

C#委托基礎係列原於2011年2月份發表在我的新浪博客中,現在將其般至本博客。

class Program
{
        double AddInt(int x, int y)
        {
            return x + y;
        }

        string AddString(string s1, string s2)
        {
            return s1 + s2;
        }

        static void Main(string[] args)
        {
            Program p = new Program();

            // 以為前兩個參數為int,他們運行的結果為double,最後一個參數與AddInt返回值一致
            Func<int, int, double> funcInt = p.AddInt;
            Console.WriteLine("funcInt的值為{0}", funcInt(100, 300));

           

            Func<string, string, string> funcString = p.AddString;
            Console.WriteLine("funcString的值為{0}", funcString("aaa", "bbb"));

 

            // 匿名方法
            Func<float, float, float> fucFloat = delegate(float x, float y)
            {
                return x + y;
            };
            Console.WriteLine("funcFloat的值為{0}", fucFloat(190.7F, 99999.9F));

           

            // Lambda表達式
            Func<string, string, string> funString2 = (x, y) => (x + y);
            Console.WriteLine("funString2的值為{0}", funString2("ttt", "bbb"));
            Console.ReadLine();
        }
}


 本文參考自金旭亮老師的《.NET 4.0麵向對象編程漫談》有關代理的內容

最後更新:2017-04-03 20:19:49

  上一篇:go 數據分頁時每頁首條記錄索引如何計算
  下一篇:go maven項目的測試目錄中報類找不到異常