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

1905 0
王子 2023-2-25 18:27:54 | 显示全部楼层 |阅读模式
目录

    C#中+=是什么意思C#中+= (s, e) =>这些字符什么意思总结


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();
}
总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持中国红客联盟。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行