plus equals(+ =)运算符在这里意味着什么?

时间:2014-02-07 06:12:49

标签: c# windows-phone

我正在制作Windows手机的示例代码,我经常会看到+=运营商的声明。

我知道添加赋值运算符,它执行以下操作

+= means a = a + b;  // used for both adding number and string concatenation

但这对我来说是新的

phNumChoseTask = new PhoneNumberChooserTask();
phNumChoseTask.Completed += new EventHandler<PhoneNumberResult>(phoneNumberChooserTask_Completed);

+=如何运作?

4 个答案:

答案 0 :(得分:13)

在当前上下文中,+=表示subscribe。换句话说,就像你告诉subscribe my method (the right operand) to this event (the left operand)一样,这样,当事件被提出时,你的方法就会被调用。此外,当您完成工作(但在处理对象之前)时,unsubscribe-=是一个很好的做法,以防止您的方法被调用并防止资源泄漏.FMI看here

答案 1 :(得分:3)

+ =运算符用于指定将响应事件而调用的方法;这种方法称为事件处理程序。在此上下文中使用+ =运算符称为订阅事件。

其他用法,它也可以用作赋值运算符:

a=a+b;

可以写成

 a+=b;

答案 2 :(得分:2)

正在创建 phoneNumberChooserTask_Completed 的委托(指针) 并将其添加到已完成的“事件处理程序”列表中。

- = 将从事件中删除事件处理程序。

注意:代理在事件中执行相同的方式,因此您可以对委托或事件进行多次分配,并且在执行委托或事件时,将执行所有分配。

答案 3 :(得分:0)

这意味着'将新的事件处理程序附加(或让我们分配)到phNumChoseTask。您也可以通过' - ='以编程方式分离它。