C#中+=是什么意思及+=的用法
C#中+=是什么意思
在C#中, "+="有兩種運(yùn)用場合。
第一種,用在數(shù)值后面作為邏輯運(yùn)算符,自加變量,如:
int i=0; for(int j=0;j<5;j++) { i+=5; }
這里i+=5表示i=i+5;
i的最終結(jié)果是25;
第二種,用于指定響應(yīng)事件時要調(diào)用的方法;
這類方法稱為事件處理程序,叫注冊/訂閱事件,用在操作類名后,比如
winForm.Closed += new EventHandler(child_Closed);
這句話意思是winForm的關(guān)閉結(jié)束事件訂閱child_Closed方法,變量句柄類型為EventHandler常規(guī)事件句柄類型
再如 :
basisMstPage.btnClick_PageHandler += new EventHandler(this.BasisMasterPageButton_Click);
在此上下文中使用 += 運(yùn)算符稱為“注冊事件”。
這里是 C# 事件綁定(注冊、訂閱)的特寫用法,表示事件的處理程序集合中添加一個事件處理程序,它也有對應(yīng)的 -= 來去掉之前 += 的事件處理程序。
但事件發(fā)生時,所有此事件的處理程序集合中的處理程序都會依次調(diào)用。
C#中+= (s, e) =>這些字符什么意思
public MainWindow() { InitializeComponent(); this.Loaded += (s, e) => DiscoverKinectSensor(); this.Unloaded += (s, e) => this.kinect = null; }
在上面的代碼中,+=是在委托鏈上增加一個委托,(s,e) =>是一個lambda表達(dá)式,這個表達(dá)式創(chuàng)建一個委托,委托處理的主體就是=> 后面的部分。
其實這個寫法相當(dāng)于
this.Loaded += new EventHandler(Form_Loaded); private void Form_Loaded(object sender, ? EventArgs e) { ? ? DiscoverKinectSensor(); }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Unity通用泛型單例設(shè)計模式(普通型和繼承自MonoBehaviour)
這篇文章主要介紹了Unity通用泛型單例設(shè)計模式,分為普通型和繼承MonoBehaviour,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07C#中哈希表(HashTable)用法實例詳解(添加/移除/判斷/遍歷/排序等)
這篇文章主要介紹了C#中哈希表(HashTable)用法,簡單講述了哈希表的原理并結(jié)合實例形式詳細(xì)分析了C#針對哈希表進(jìn)行添加、移除、判斷、遍歷、排序等操作的實現(xiàn)技巧,需要的朋友可以參考下2016-06-06C#簡單讀取、改變文件的創(chuàng)建、修改及訪問時間的方法
這篇文章主要介紹了C#簡單讀取、改變文件的創(chuàng)建、修改及訪問時間的方法,涉及C#文件類SetCreationTime、SetLastWriteTime及SetLastAccessTime的相關(guān)使用技巧,需要的朋友可以參考下2015-07-07利用微軟com組件mstscax.dll實現(xiàn)window7遠(yuǎn)程桌面功能
利用微軟提供的com組件mstscax.dll實現(xiàn)類似window遠(yuǎn)程桌面功能,大家參考使用吧2013-12-12