rksoftware

Visual Studio とか C# とかが好きです

C# 2.0 以降の新機能の確認 - C# 3.0 - ラムダ式

C# 2.0 以降の新機能を一つづつ確認していきます。
以前に一度行ったのですが、公式ドキュメント再編でリンク切れしているところを見つけてしまったので。今ならもっと簡潔なサンプルが欠けるところもあるだろうし、せっかくなので今もう一度確認して行きます。

ラムダ式

 https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions
 匿名関数。引数として渡したり関数呼び出しの結果値として返すことができるローカル関数を記述できる。あらゆる場所で使われるが、LINQ を使用する際に特に重要。

System.Threading.Timer t = new System.Threading.Timer(
    state => Console.WriteLine("lambda") // ラムダ式による匿名メソッド。引数 state を取り返り値を持たない関数が定義されている
    // (object state) => { Console.WriteLine("lambda"); } // <- 引数の型名を明示するこのような記述も可能
    ,null, 0, 1000
);
// "lambda" を繰り返し出力