=>記号の意味

=> 2 つの主要な関数があり、1 つは属性の状態を制限し、もう 1 つは匿名の委任と Lambda を簡素化します。


使用法 1: 読み取り専用プロパティを定義する

public class ManPeople {     public string Sex => "男";

    public string Name { get; set; }}

public class WomanPeople {    public string Sex => "女";

    public string Name { get; set; }}

public string Sex => "男";

ここでの => の使用法は { get; } = と同等です。つまり、Sex フィールドを読み取り専用属性として設定し、同時に値を割り当てます。

パブリック文字列性別 {取得; } = "男"


使用法 2: ラムダ式、匿名デリゲート

たとえば、デリゲートを定義します:
delegate int DeMethod(int a, int b);
別のメソッドを定義します:
int Add(int a, int b)
{ return a + b; }次のようにデリゲートを通じてメソッドを呼び出す必要がある場合があります。 : DeMethod m += Add; Console.WriteLine(m(2, 3));





C# 2.0 を使用した匿名メソッド構文:
DeMethod m += delegate(int a, int b) { return a + b; };
Console.WriteLine(m(2, 3));


C#3.0 のラムダ式を使用すると、
DeMethod m += (a ,b) => a + b;
Console.WriteLine(m(2, 3));
でメソッド定義を保存できます。
実際、ラムダ式は匿名メソッドの構文を単純化するだけです。


最後に、これらの文字 += (s, e) => は C# で何を意味しますか

public MainWindow()

{

InitializeComponent();

this.Loaded += (s, e) => InitSomeConfig();

this.Unloaded += (s, e) => this.Value= null;

}

上記のコードでは、 += は委任チェーンに委任を追加することであり、 (s,e) => はラムダ式で、この式で委任が作成され、 => 以降が委任処理の本体となります。

実際、これは次と同等です

this.Loaded += new EventHandler(Form_Loaded);

private void Form_Loaded(object sender,   EventArgs e) {
    InitSomeConfig ();
}

おすすめ

転載: blog.csdn.net/weixin_53163894/article/details/132684276