C#のデリゲート、デリゲート、匿名関数とラムダ

パラメータとして渡すことができる1つのデリゲートメソッド

デリゲートクラスとして2を使用することができます。

3インスタンス化するために、使用前に必要委託

システムを使用しました。
System.Collections.Genericを使用しました。
System.Linqのを使用しました。
System.Textのを使用しました。

名前空間ConsoleApplication7
{
クラスプログラム
{
パブリックデリゲート無効BuyTicketDelegate(文字列MSG)。
静的な無効メイン(文字列[] args)
{
BuyTicketDelegate T1 =新しいBuyTicketDelegate(WRITELOG)。
T1( "测试")。
}
静的ボイドWRITELOG(文字列MSG)
{
Console.WriteLineを( "当前日志是:" + MSG)。
Console.ReadLine();
}
}
}

 

button1_Clickプライベート(SENDERオブジェクト、EventArgsのE)無効
{
//匿名の代表者のFunc <int型、int型>デル
の//タイプ「変数」例
タイプ//デリゲート型のFuncは匿名で、何の名前はありません
、そのを決定する方法//署名:必要なパラメータなどのデータ型の複数(タイプが最終的に所定の戻り値の型のパラメータを所定の、および前述)
//直接変数デリゲートを定義します

//匿名関数デリゲート(int型A){リターン;};
//関数の通常の関数名と異なるが、デリゲートで置き換えられています

//以下の式は、匿名関数デル匿名デリゲートによって定義された変数の参照である
整数、A = 1 //が、プロセスは、同じ理由である
//のFunc <int型、整数>デル =デリゲート(int型A) リターン{;};
//MessageBox.Show(デル(5).ToString())。

//後で見つけ、そのデリゲートを置くためにバインド匿名関数は、引数の型は良いが、そうであっても、より簡潔な表現ではなく、パラメータのタイプ排除と判断された
//登場し、ラムダ式
のFunc <int型、int型>デル=を= A> A {リターン;};
MessageBox.Show(デル(6).ToString());
}

転載します。https://www.cnblogs.com/dawasai/p/4443903.html

おすすめ

転載: www.cnblogs.com/wugh8726254/p/12645420.html