委任中の匿名メソッド

6020 ワード

1.依頼中の名前付け方法と匿名方法:
次のコード解釈のみをメモします.
(1)具名方法:
 1     class Program

 2     {

 3         public static int Add20(int x)

 4         {

 5             return x + 20;

 6         }

 7         delegate int OtherDel(int Inparam);

 8         static void Main(string[] args)

 9         {

10             OtherDel del = Add20;

11 

12             Console.WriteLine("{0}", del(5));

13             Console.WriteLine("{0}", del(6));

14         }

15     }

出力結果:
25
26
(2)匿名の方法
 1     class Program

 2     {

 3         delegate int OtherDel(int Inparam);

 4         static void Main(string[] args)

 5         {

 6             OtherDel del = delegate(int x)

 7                           {

 8                               return x + 20;

 9                           };

10 

11             Console.WriteLine("{0}", del(5));

12             Console.WriteLine("{0}", del(6));

13         }

14     }

出力結果:25
25
 2.Lambda式
匿名メソッドをLambda式に変換
(1)delegateキーワードの削除
(2)パラメータリストと匿名メソッドトピックとの間の方lambda演算子=>.Lambda演算子は「goes to」と読みます.
1            OtherDel del=delegate(int x)  {return x+5};// 

2            OtherDel le1=        (int x)=>{return x+5};//Lambda 

3            OtherDel le2=            (x)=>{return x+5};//Lambda 

4            OtherDel le3=             x =>{return x+5};//Lambda 

5            OtherDel le4=             x =>        x+5 ;//Lambda