最近の投稿への回答(C#でtimes()Rubyメソッドを模倣する機会はありますか?)は、使用例で=>演算子を使用します。この演算子は何をしますか?C#ブックでそれを見つけることができず、このような記号をオンラインで検索するのは困難です。(見つかりませんでした。)
4 に答える
これは実際には演算子ではなく、ラムダ式の構文の一部です。特に=>は、ラムダ式の本体からパラメーターを分離するビットです。
あなたの本はC#3.0をカバーしていますか?そうでない場合は、ラムダ式は含まれません。もしそうなら、それは本当にそれらをカバーするはずです!うまくいけば、正しい用語で、目次または索引でそれを見つけることができるでしょう。
編集:もう少し情報:ラムダ式は、デリゲートのインスタンスまたは式ツリー(後者は.NET 3.5の新機能)を作成するための構文糖衣です。ラムダ式は、匿名メソッドのように「パラメーターを気にしない」という概念をサポートしていませんが、ほぼ完全に匿名メソッド(C#2.0以降)を置き換えます。
これはラムダ式の場合です。
http://msdn.microsoft.com/en-us/library/bb397687.aspx
例はここにあります:
MyControl.OnMouseDown += (sender, e) =>
{
// Do something in the mouse down event
};
ここでは、ラムダ式イベントデリゲートを作成しました。基本的に、クラスで別の関数を作成する必要がなくなります。
ラムダ式は、式とステートメントを含めることができる無名関数であり、デリゲートまたは式ツリータイプを作成するために使用できます。
すべてのラムダ式はラムダ演算子=>を使用します。これは、「goesto」として読み取られます。ラムダ演算子の左側は入力パラメーター(存在する場合)を指定し、右側は式またはステートメントブロックを保持します