6

最近の投稿への回答(C#でtimes()Rubyメソッドを模倣する機会はありますか?)は、使用例で=>演算子を使用します。この演算子は何をしますか?C#ブックでそれを見つけることができず、このような記号をオンラインで検索するのは困難です。(見つかりませんでした。)

4

4 に答える 4

15

これは実際には演算子ではなく、ラムダ式の構文の一部です。特に=>は、ラムダ式の本体からパラメーターを分離するビットです。

あなたの本はC#3.0をカバーしていますか?そうでない場合は、ラムダ式は含まれません。もしそうなら、それは本当にそれらをカバーするはずです!うまくいけば、正しい用語で、目次または索引でそれを見つけることができるでしょう。

編集:もう少し情報:ラムダ式は、デリゲートのインスタンスまたは式ツリー(後者は.NET 3.5の新機能)を作成するための構文糖衣です。ラムダ式は、匿名メソッドのように「パラメーターを気にしない」という概念をサポートしていませんが、ほぼ完全に匿名メソッド(C#2.0以降)を置き換えます。

于 2008-10-07T13:50:14.453 に答える
1

これはラムダ式の場合です。

http://msdn.microsoft.com/en-us/library/bb397687.aspx

例はここにあります:

MyControl.OnMouseDown += (sender, e) =>
{
  // Do something in the mouse down event
};

ここでは、ラムダ式イベントデリゲートを作成しました。基本的に、クラスで別の関数を作成する必要がなくなります。

于 2008-10-07T13:50:19.413 に答える
1

ラムダ式は、式とステートメントを含めることができる無名関数であり、デリゲートまたは式ツリータイプを作成するために使用できます。

すべてのラムダ式はラムダ演算子=>を使用します。これは、「goesto」として読み取られます。ラムダ演算子の左側は入力パラメーター(存在する場合)を指定し、右側は式またはステートメントブロックを保持します

http://msdn.microsoft.com/en-us/library/bb397687.aspx

于 2008-10-07T13:51:44.077 に答える
1

=> トークンはラムダ演算子と呼ばれます。

これはラムダ式で使用され、左側の入力変数を右側のラムダ本体から分離します。

MSDN

于 2008-10-08T04:48:36.417 に答える