C# 中=>符號的使用


  Lambda表達式。
  Lambda表達式是C#3.0的新內容,如果您之前學習的C#2.0,不認識也就不奇怪了。
  給您舉個例子。
  例如,我定義一個委托:
  delegate int Method(int a, int b);
  再定義一個方法:
  int Add(int a, int b)
  {
  return a + b;
  }
  我可能需要這樣通過委托調用方法:
  Method m += Add;
  Console.WriteLine(m(2, 3));
  ====================================================
  但如果用 Lambda 表達式:
  Method m += (a ,b) => a + b;
  Console.WriteLine(m(2, 3));
  可以省去方法的定義。
  實際上, Lambda 表達式只是簡化了匿名方法的語法而已。

  附 C# 2.0 的匿名方法語法:
  Method m += delegate(int a, int b) { return a + b; };
  Console.WriteLine(m(2, 3));
  *******************************************************************************
  C#中 += (s, e) => 這些字符什么意思
  public MainWindow()
  {
  InitializeComponent();
  this.Loaded += (s, e) => DiscoverKinectSensor();
  this.Unloaded += (s, e) => this.kinect = null;
  }
  在上面的代碼中,+=是在委托鏈上增加一個委托,(s,e) =>是一個lambda表達式,這個表達式創建一個委托,委托處理的主體就是=> 后面的部分。

  其實這個寫法相當於
  this.Loaded += new EventHandler(Form_Loaded);

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM