事件添加和删除实现细节

时间:2012-10-27 16:04:14

标签: c# performance events

我正在开发一个具有大量性能关键代码的应用程序。在查看我的代码时,我注意到在有很多调用的事件上我也有很多+=-=,所以我问自己(现在你)+=和{{1实现了很多调用时的速度。

1 个答案:

答案 0 :(得分:2)

根据事件,事件是事件代表的列表。添加新事件的性能与调用List<T>.Add()(通常为O(1))相似,而删除委托则相当于List<T>.Remove(),即O(n)其中 n < / em>是列表中的代表数。

(这并不一定意味着代表实际上已经实施并且List<T>已经涵盖,但性能特征是相同的。)