C#基礎知識之六,

來源:互聯網
上載者:User

C#基礎知識之六,

C#基礎知識之六

由朱朱編寫,轉載請註明出自朱朱家園http://blog.csdn.net/zhgl7688

1、  匿名方法:是在初始化委託裡內聯聲明的方法。組成由delegate類型關鍵字、參數列表、語句塊 ----delegate  (Parameters) { ImplementationCode  }。

2、  匿名方法使用地方:聲明委託變數時作為初始設定式、組合委託時在賦值語句的右邊、為委託增加事件時在賦值語句的右邊。

3、  匿名方法參數列表必須有三個方面匹配委託:參數數量、參數類型、修飾符。

4、  匿名方法省略參數列表條件:列表中不包含任何out參數和方法不使用任何參數。

5、  委託聲明的參數列表包含了Params參數,在匿名方法參數列表將忽略params關鍵字。

6、  參數和匿名方法內部局部變數的範圍限制在實現方法的主體內。

7、  匿名方法可以訪問外圍範圍的局部變數和環境。

8、  在匿名方法中實現外部變數稱為方法捕獲。只在捕獲方法還是委託的一部分,即使變數已經離開範圍,被捕獲的外部變數仍然有效。

9、  Lambda運算式:代替了匿名方法,將delegate改為運算子=>,以及簡化操作。範例:

MyDel del=delegate(int x)   {return x+1; };    //匿名方法

MyDel del=       (int x) =>{ return x+1; };    //Lambda方法

MyDel del=       (  x ) => { return x+1; };    //Lambda方法

MyDel del=        x =>  { return x+1; };    //Lambda方法

MyDel del=        x  =>        x+1  ;    //Lambda方法

10、  Lambda運算式列表要點:參數必須在數量、類型和位置上與委託相匹配、參數不一定要包含類型(除out或ref,此類型是必須的)、一個參數時圓括弧可以省略、沒有參數時,必須使用空的圓括弧。

11、  觸發事件:調用或觸發事件的術語。當事件被觸發時,註冊到它的方法都會被依次調用。相當於觀察者模式http://blog.csdn.net/zhgl7688/article/details/41969393。

12、  聲明事件:只需要委託類型和名字,還可使用static變成靜態。

如 public  event EventhandleElapsed //Eventhandle為委託類型,Elapsed為事件名。

13、  事件是成員不是類型,不能使用new來建立它的對象,其成員被隱式自動初始化為NULL。

14、  事件委託類型使用標準的預定義EventHandler,它的聲明如下:

Public delegate void EventHandler(object sender,EventArgse);

15、  訂閱事件:要為事件添加事件處理常式,處理常式必須有和事件委託一致的傳回型別和簽名,使用+=運算子來為事件增加事件處理常式。使用-=移除一個事件處理常式。

16、  事件方法有:執行個體方法、靜態方法、匿名方法、lambda運算式。

由朱朱編寫,轉載請註明出自朱朱家園http://blog.csdn.net/zhgl7688

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.