检查null的性能损失

任何人都可以告诉我在c#中检查对象的对象或属性是否为null的性能成本是多少? 我正在开发一个ASP.NET MVC应用程序,在模型中进行空检查,然后在视图中再次完成。 我觉得这是过度的但是如果没有真正的性能打击那么我就不会看到以这种方式做事的伤害。

如果您在渲染时只执行一次,并且在初始化模型时执行一次,我认为它不可测量。

如果它在计算密集型循环中会产生影响。

查询数据库,读/写文件等内容是值得注意的。

几乎无足轻重。 这样做两次不是问题。 这样做几百万次可能仍然不是问题(但可能表明其他一些编程问题)

当然,有一些性能损失,检查是否为null需要一些指令……

如果您希望最大限度地降低性能,请使用ILDASM工具查看您正在使用的方法的CIL代码,并检查正在发生的实际执行路径。 我甚至会说:确保你使用的是Object.ReferenceEquals(而不是实例的Equals方法或者相等运算符)。