0

私は、パフォーマンスの重要なコードがたくさんあるアプリケーションで開発しています。私のコードを見ると、私は多くの呼び出しを伴うイベントもたくさんあることに気づいた+=ので-=、私は自分自身(そして今あなた)に、どのよう+=-=実装され、多くの呼び出しがあるときはどれくらい速いかを自問します。

4

1 に答える 1

2

基本的に、イベントはイベントデリゲートのリストです。List<T>.Add()新しいイベントの追加は、呼び出し(通常はO(1))とパフォーマンスが似ていますが、デリゲートの削除List<T>.Remove()は、O(n)と同等です。ここで、nはリスト内のデリゲートの数です。

(これは必ずしもデリゲートが実際に隠れて実装されていることを意味するわけList<T>ではありませんが、パフォーマンス特性は同じです。)

于 2012-10-27T16:09:11.943 に答える