【发布时间】:2017-05-01 17:46:50
【问题描述】:
这有意义吗,或者相等性检查是多余的?
public int SelectedIndex
{
get { return (int)GetValue(SelectedIndexProperty); }
set
{
if (value != SelectedIndex)
SetValue(SelectedIndexProperty, value);
}
}
我对@987654321@ 进行了一些研究,看起来该对象在进行实际的相等检查之前还有很长的路要走,即使这样我也没有深入挖掘以弄清楚它是否仍然可以on,而 GetValue 开销要简单得多,所以您认为这里的引用相等检查是推荐/冗余的吗?
我不会在所有属性中都这样做,但是有些重复的属性会产生很多开销。
【问题讨论】:
-
您在
SetValue部分节省了一些跃点,但在GetValue上也损失了一些,所以最后似乎没有太大区别。您可以尝试对这两种方法进行基准测试,以找出确切的性能差异。 -
我不知道使用
SetValue是否保证在重新分配相等值之前进行检查。
标签: c# xamarin data-binding xamarin.forms