我想知道这段代码有什么好处:
private int _TestID;
public int TestID
{
get
{
return _TestID;
}
set
{
if(_TestID != value)
{
_TestID = value;
}
}
}
对比这个:
private int _TestID;
public int TestID
{
get
{
return _TestID;
}
set
{
_TestID = value;
}
}
在我看来,这是以效率的名义完成的(只有在设置不同时才设置),但测试不会比初始设置花费更长(或更长)的时间吗?我不确定我是否遗漏了什么,但很想听到任何评论和解释。
最佳答案
当您将它与 WPF 或其他数据绑定(bind)解决方案中常见的 RaisePropertyChanged("TestID")(在 if 内,在设置字段值之后)事件模式结合使用时,它会很有用。
class Something : INotifyPropertyChanged
{
public int TestID
{
get { return testId; }
set
{
if (testId != value)
{
testId = value;
RaisePropertyChangedEvent("TestID");
}
}
}
}
关于c# - 在 Property Setter 中,仅在值不同时设置是否有益?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1566865/