C# 事件添加和删除实现详细信息
我正在开发一个有很多性能关键代码的应用程序。当查看我的代码时,我注意到我也有很多关于具有许多调用的事件的C# 事件添加和删除实现详细信息,c#,performance,events,C#,Performance,Events,我正在开发一个有很多性能关键代码的应用程序。当查看我的代码时,我注意到我也有很多关于具有许多调用的事件的+=和-=,因此我问自己(现在也是你)如何实现+=和-=以及当有很多调用时有多快。在下面,事件是一个事件委托列表。添加新事件在性能上类似于调用List.Add()(通常为O(1)),而删除委托相当于List.Remove(),即O(n),其中n是列表中的委托数 (这并不一定意味着委托实际上是通过一个列表来实现的,但是性能特征是相同的。)请看这里:因此,每次更新时添加和删除大量调用时,实际上性能
+=
和-=
,因此我问自己(现在也是你)如何实现+=
和-=
以及当有很多调用时有多快。在下面,事件是一个事件委托列表。添加新事件在性能上类似于调用List.Add()
(通常为O(1)),而删除委托相当于List.Remove()
,即O(n),其中n是列表中的委托数
(这并不一定意味着委托实际上是通过一个
列表来实现的,但是性能特征是相同的。)请看这里:因此,每次更新时添加和删除大量调用时,实际上性能很差。