Javaと情熱のあいだ

Play Frameworkはじめました

C#のラムダ式をメモ

C#ラムダ式をなかなか覚えないのでメモ。

    class Program  
    {  
        static void Main(string[] args)  
        {  
            // string型の引数1つ、戻り値voidのラムダ式  
            Action<string> lambda1 = (string message) => /* 括弧の中に型を明示しても良い */  
            {  
                // 引数で受け取った文字列を表示  
                Console.WriteLine(message);  
            };  
      
            // string型の引数1つを受け取り、int型の戻り値を返すラムダ式  
            Func<string, int> lambda2 = (message) =>  
            {  
                Console.WriteLine(message);  
                // int型を返す  
                return 0;  
            };  
      
            // string型の引数1つを受け取り、bool型の戻り値を返すラムダ式  
            Predicate<string> lambda3 = (message) =>  
            {  
                Console.WriteLine(message);  
                // bool型を返す  
                return true;  
            };  
      
            // 引数なし、戻り値voidのラムダ式を呼び出し( void lambda1(string)の呼び出しと同じ )  
            lambda1("ラムダ式に引数を渡して実行!");  
      
            // 引数1つ、戻り値intのラムダ式を呼び出し( int lambda2(string)の呼び出しと同じ )  
            int retInt = lambda2("ラムダ式に引数を渡し、int型の戻り値を受け取る!");  
            Console.WriteLine("lambda2の戻り値=" + retInt);  
      
            // 引数1つ、戻り値boolのラムダ式を呼び出し( bool lambda3(string)の呼び出しと同じ )  
            bool retBool = lambda3("ラムダ式に引数を渡し、bool型の戻り値を受け取る!");  
            Console.WriteLine("lambda3の戻り値=" + retBool);  
      
            // <結果>  
            // ラムダ式に引数を渡して実行!  
            // ラムダ式に引数を渡し、int型の戻り値を受け取る!  
            // lambda2の戻り値=0  
            // ラムダ式に引数を渡し、bool型の戻り値を受け取る!  
            // lambda3の戻り値=True  
        }  
    }  
参考

csharp30matome.seesaa.net