C# “是什么意思?”+;=(s,e)“;在代码中?

C# “是什么意思?”+;=(s,e)“;在代码中?,c#,C#,代码中的+=(s,e)到底是什么 例如: this.currentOperation.Completed+=(s,e)=>this.CurrentOperationChanged()这是使用Lambda表达式附加事件处理程序的方法 例如: button.Click += new EventHandler(delegate (Object s, EventArgs e) { //some code }); 可以使用lambda重写,如下所示: button

代码中的
+=(s,e)
到底是什么

例如:


this.currentOperation.Completed+=(s,e)=>this.CurrentOperationChanged()

这是使用Lambda表达式附加事件处理程序的方法

例如:

button.Click += new EventHandler(delegate (Object s, EventArgs e) {
            //some code
        });
可以使用lambda重写,如下所示:

button.Click += (s,e) => {
            //some code
        };
这里要注意一件事。没有必要写“s”和“e”。你可以使用任意两个字母,例如

button.Click += (o,r) => {};

第一个参数将表示触发事件的对象,第二个参数将保存可在eventhandler中使用的数据。

这是将委托实例(lambda表达式的开头)分配给事件调用列表。
s,e
表示事件委托类型的
sender
EventArgs
参数


有关详细信息,请参阅。

此代码以Lambda表达式的形式添加事件侦听器
s
代表发送方
e
事件参数。兰姆达

private void Listener(object s, EventArgs e) {

}

它是事件处理程序的简写。 s-->对象发送器和 e-->某些类型的事件参数

也可以将其重新干燥为:

public void HandlerFunction(object sender, EventArgs e)
{
   this.loaded = true;
}

你能提供多一点代码吗?+=是加法赋值运算符。我知道我添加的行是调用CurrentOperationChanged方法,以防调用this.currentOperation.Completed。但是为什么我需要“s”和“e”?