2016年9月7日水曜日

C#6.0の新機能:メソッド本体にラムダ式

関数のラムダ式


VisualStudio2015で追加されたのC#6.0 で関数のラムダ式を試してみました。


public Int32 Add(Int32 val1, Int32 val2) => val1 * val2;


この使い道が想像できていません。関数をラムダ式で書く理由って何でしょうか?

ちなみに私は、ラムダ式を書くのに波括弧を使う癖があるのですが、
関数のラムダ式に入れたら、コンパイラ様に怒られました。

public Int32 Add2(Int32 val1, Int32 val2) => { return val1* val2; }
Error CS1519 クラス、構造体、またはインターフェイス メンバーの宣言でトークン '{' が無効です。





関数がラムダ式なら、Funcに入れられるかと思い、入れてみました。
ついでに、普通の関数もFuncに入れてみました。


public Int32 Add(Int32 val1, Int32 val2) => val1 * val2;
public Int32 Add2(Int32 val1, Int32 val2) { return val1 * val2; }

void SampleMethod()
{
    Func<Int32, Int32, Int32> func = Add;
    Func<Int32, Int32, Int32> func2 = Add2;
}


な、なんと、どちらも普通に動きます。
さぁ、やっぱり、使い道が分からなくなってきました。
誰か、使い方教えてけれ!!!!!!!!!!!!!!


0 件のコメント:

コメントを投稿