C#中+=是什么意思及+=的用法

 更新时间:2023年02月23日 09:45:26   作者: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();
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论