C# 引发事件与在c中调用函数有性能差异吗#

C# 引发事件与在c中调用函数有性能差异吗#,c#,events,C#,Events,这是一个理论问题,而不是实际问题,实际上我没有任何性能问题 我试图弄清楚事件ד是如何工作的(并推断使用它们而不是调用函数是否会导致性能损失) 事件只是一个类,它包含指向注册该事件的函数的指针列表,还是后面有更多指针?当引发事件时,多播委托(对于在该类型实例上完成的每个.SomeEvent+=MySomeEventHandler,它实际上会在每个+=上分配一个新的委托列表,但现在跳过它)将执行每个附加的处理程序。因此,在每个附加了多个事件处理程序的情况下,都将执行多个方法调用。要了解真正低级的详细

这是一个理论问题,而不是实际问题,实际上我没有任何性能问题

我试图弄清楚事件ד是如何工作的(并推断使用它们而不是调用函数是否会导致性能损失)


事件只是一个类,它包含指向注册该事件的函数的指针列表,还是后面有更多指针?

当引发事件时,多播委托(对于在该类型实例上完成的每个
.SomeEvent+=MySomeEventHandler
,它实际上会在每个
+=
上分配一个新的委托列表,但现在跳过它)将执行每个附加的处理程序。因此,在每个附加了多个事件处理程序的情况下,都将执行多个方法调用。要了解真正低级的详细信息,只需查看事件引发情况下发出的IL,并将其与将事件更改为常规回调时的情况进行比较。

我认为您的问题是肯定的在这个线程中: