C#中+=是什么意思及+=的用法
作者:Dust_Evc
这篇文章主要介绍了C#中+=是什么意思及+=的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
C#中+=是什么意思
在C#中, "+="有两种运用场合。
第一种,用在数值后面作为逻辑运算符,自加变量,如:
int i=0; for(int j=0;j<5;j++) { i+=5; }
这里i+=5表示i=i+5;
i的最终结果是25;
第二种,用于指定响应事件时要调用的方法;
这类方法称为事件处理程序,叫注册/订阅事件,用在操作类名后,比如
winForm.Closed += new EventHandler(child_Closed);
这句话意思是winForm的关闭结束事件订阅child_Closed方法,变量句柄类型为EventHandler常规事件句柄类型
再如 :
basisMstPage.btnClick_PageHandler += new EventHandler(this.BasisMasterPageButton_Click);
在此上下文中使用 += 运算符称为“注册事件”。
这里是 C# 事件绑定(注册、订阅)的特写用法,表示事件的处理程序集合中添加一个事件处理程序,它也有对应的 -= 来去掉之前 += 的事件处理程序。
但事件发生时,所有此事件的处理程序集合中的处理程序都会依次调用。
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(); }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。