delegate
オペレータは、デリゲート型に変換することができ、匿名メソッドを作成します。
C#の
Func<int, int, int> sum = delegate (int a, int b) { return a + b; }; Console.WriteLine(sum(3, 4)); // output: 7
注意
C#3以降では、ラムダ式はより簡潔かつ匿名関数を作成するための表現方法を提供します。使用 =>演算子を ラムダ式を構築します:
C#の
Func<int, int, int> sum = (a, b) => a + b;
Console.WriteLine(sum(3, 4)); // output: 7
ラムダ式の機能の詳細については、例えば、外側の変数をキャプチャし、参照 ラムダ式を。
あなたが使用する場合は delegate
、オペレータが、あなたはパラメータリストを省略することがあります。あなたがそれを行う場合は、作成された匿名メソッドは、次の例が示すように、パラメータの任意のリストを持つデリゲート型に変換することができます。
C#の
Action greet = delegate { Console.WriteLine("Hello!"); };
greet();
Action<int, double> introduce = delegate { Console.WriteLine("This is world!"); }; introduce(42, 2.7); // Output: // Hello! // This is world!
これは、ラムダ式ではサポートされていない匿名メソッドの機能だけです。他のすべての場合で、ラムダ式は、インラインコードを記述するための好ましい方法です。
また、使用 delegate
宣言するキーワードを デリゲート型を。
C#言語仕様
詳細については、 匿名関数式の のセクション C#言語仕様を。
参照してください。
フィードバック
ラムダオペレーター
ラムダ式、ラムダオペレータは、 =>
右側のラムダ本体から左側の入力パラメータを分離します。
フィードバックを送信