gpt4 book ai didi

c# - 使用 'do nothing' 默认事件处理程序是否有任何性能缺陷?

转载 作者:行者123 更新时间:2023-11-30 22:47:34 25 4
gpt4 key购买 nike

假设我有一个包含数千个对象的集合,所有这些对象都实现了以下内容:

public event EventHandler StatusChanged = (s,e) => {};
private void ChangeStatus()
{
StatusChanged(this, new EventArgs());
}

如果没有处理程序为每个对象订阅该事件,使用无操作事件处理程序是否会带来任何性能缺陷?或者 CLR 是否聪明到可以忽略它?还是我最好在触发事件之前检查 StatusChanged 处理程序?

最佳答案

是的,CLR 并没有聪明到可以忽略它,但在大多数情况下差异应该可以忽略不计。

方法调用不是什么大问题,不太可能对应用程序的性能产生有意义的影响。

关于c# - 使用 'do nothing' 默认事件处理程序是否有任何性能缺陷?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com