だらだらやるよ。

こげつのIT技術メモ

C#3.0機能紹介その3。ラムダ式

C#2.0で増えた匿名メソッドの新しい記述方法という認識でいいのかな
たとえば以下の配列に対するFindメソッドは同じ結果を返します。

List<String> s = new List<string>(new String[]{"","test","hoge"});
String test1 = s.Find(delegate(String st) { return st == "test"; });
String test2 = s.Find(st => st == "test");

簡単に書けて幸せ!
基本的には
(パラメータリスト)=>式
という記述なんですが、パラメータが暗黙的にわかり、ひとつだけの場合は括弧を省略できるみたい。
式でなくてステートメントを使う場合は{}で囲う必要と、明示的にreturnを記述する必要があります。
パラメータを指定して、式をステートメントにするとこんな感じ

String test3 = s.Find((String st) => { Console.WriteLine(st); return st == "test";});

delegateっていちいち書かなくて良くなったのでとても便利だなぁ、と思います:-)