ラムダその3
ラムダ:
http://d.hatena.ne.jp/levin_gsp/20071127/1196143533
ラムダその2:
http://d.hatena.ne.jp/levin_gsp/20080415/1208260855
前回、ラムダ式を実践してみようと思って挫折した。
Visual Studio 2008 Express Edition をインストールしてみたため、再びチャレンジ。
経緯、その他見解等は過去のエントリを参照してほしい。
using System; namespace sample02 { /* * ラムダ式 (lambda expression) 入門用クラス */ class Program { /* * x と y を渡すためのデリゲートを定義 */ delegate int SampleDelegate(int x, int y); /* * デリゲートを引数指定して内部実行後、標準出力するメソッド */ private static void Calculate(int x, int y, SampleDelegate calculator) { Console.WriteLine(calculator(x,y)); } /* * コールしてみる。 * 第三引数はデリゲートなので、ここにラムダを記述 * * 下記の場合は結果が「11」となる。 */ static void Main(string[] args) { Calculate(3, 8, (x, y) => x+y ); /* デリゲートで書くとこうなる。出力は同じく「11」 */ Calculate(3, 8, delegate(int x, int y) { return x + y; }); } } }
@IT記事に倣って、デリゲートでも同じ結果となる処理を書いてみた。
確かにこれは慣れれば強力な武器になりそうだ。