Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加事件处理程序时,请使用';新的();还是不?_C#_Event Handling_New Operator - Fatal编程技术网

C# 添加事件处理程序时,请使用';新的();还是不?

C# 添加事件处理程序时,请使用';新的();还是不?,c#,event-handling,new-operator,C#,Event Handling,New Operator,可能重复: 使用+=new(…)将回调分配给按钮的单击事件与仅+=之间有什么区别?为清晰起见,以下是每种产品的样品: Button b = new Button(); b.Click += new System.EventHandler(button_Click); b.Click += button_Click; 第一个实例是否创建方法按钮\u Click的新实例,而第二个实例始终使用此方法中定义的实例?第二个实例是第一个实例的缩写,因此两者都将创建事件处理程序并将其添加到Click 这是

可能重复:

使用
+=new(…)
将回调分配给按钮的单击事件与仅
+=
之间有什么区别?为清晰起见,以下是每种产品的样品:

Button b = new Button();
b.Click += new System.EventHandler(button_Click);
b.Click += button_Click;

第一个实例是否创建方法
按钮\u Click
的新实例,而第二个实例始终使用此方法中定义的实例?

第二个实例是第一个实例的缩写,因此两者都将创建事件处理程序并将其添加到
Click


这是“C#Depth”中关于事件一章中的一个例子。

没有区别

你也可以

b.Click += (e, sender) =>{
 // do something here
};

这三个都是相同的,即为委托分配一个函数。

是的,但您无法正确分离