如何在优化目标方面做得更好?
public SpeedGraphModel SpeedGraphModel
{
get { return _speedGraphModel; }
set {
if (_speedGraphModel == value)
return;
_speedGraphModel = value;
}
}
或
public SpeedGraphModel SpeedGraphModel
{
get { return _speedGraphModel; }
set { _speedGraphModel = value; }
}
我认为string
类型会更好而不检查,但对于其他类型?
答案 0 :(得分:0)
添加另一个条件检查而不是设置变量值,即使它相等也是多余的。
最佳情况如果它们相等,您将进行1次操作(条件) 最坏的情况您将进行2次操作(条件+分配)。
而不是设置变量,无论什么。 => 1次操作。
答案 1 :(得分:0)
当您在设置值上调用某些逻辑时,通常会使用此类检查(不仅仅是设置它)。例如,在桌面(WPF / WinForms)或移动(Xamarin)中,您可以实现自己的属性,该行为与Dependency属性类似,并在其中调用OnPropertyChanged()
方法。它可以在更新后用于刷新视图的项目等。这样,即使您为项目设置了相同的值,然后调用OnPropertyChanged()
,它也会更新可能影响性能的部分视图,所以你想在这里做一个额外的检查。
如果你只有一个普通的属性,唯一的责任是在没有任何逻辑的情况下在私有字段内设置值,你不需要额外的检查,因为它是冗余的,不会提高你的性能。