我在stackoverflow中环顾四周,是否将空合并运算符放在访问器方法中是否会对性能产生影响。
前:
private Uri _Url;
public Uri Url
{
if(_Url == null)
_Url = new Uri(Utilities.GenerateUri());
return _Url;
}
后:
private Uri _Url;
public Uri Url
{
get
{
return _Url = _Url ?? new Uri(Utilities.GenerateUri());
}
}
我什至不确定语法是否正确,但是当我调试时,私有对象已设置。
在有人问这样做有什么意义之前,我们在内部争论是为了可读性而编写(第一个对我来说看起来更具可读性),还是为了性能而编写。
不知道编译器会不会优化??总比手动空检查好。微优化不好,但我只是好奇