C# Lambda

例子:

class Program
    {
        //定義委託類型
        delegate int Weituo(int a);
        static void Main(string[] args)
        {
            //定義委託變量
            Weituo wei1;
            wei1 = x => x * x;//沒有手動定義確切的參數類型時,根據委託的類型來定義。返回值類型根據計算結果定義
            //wei1 = y => { return y + y; };
            //wei1 = (int x) => { return x / 2; };
           Console.WriteLine( wei1(10));
        }
    }

ref參數也可以在Lambda表達式中使用。

 class Program
    {
        //定義委託類型
        delegate int Weituo(ref int a,int b);//帶ref參數
        delegate int SWeituo( int a, int b);//不帶ref參數
        static void Main(string[] args)
        {
            int i=5, j=10;
            Weituo wei1;
            SWeituo swei;
            swei = (int x, int y) => { x++; return x + y; };
            Console.WriteLine(swei( i, j));
            Console.WriteLine("{0},{1}", i, j);


            wei1 = (ref int x, int y) => { x++; return x + y; };
            Console.WriteLine(wei1(ref i, j));
            Console.WriteLine("{0},{1}", i, j);
        }
    }

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