Ses*_*ame 2 c# performance properties
我想知道这段代码有什么好处:
private int _TestID;
public int TestID
{
get
{
return _TestID;
}
set
{
if(_TestID != value)
{
_TestID = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
与此:
private int _TestID;
public int TestID
{
get
{
return _TestID;
}
set
{
_TestID = value;
}
}
Run Code Online (Sandbox Code Playgroud)
在我看来,这是以效率的名义完成的(只有设置如果不同),但测试不会花费与初始设置一样长(或更长)的时间吗?我不确定我是否在这里遗漏了一些东西,但我很乐意听到任何评论和解释.
Pie*_*eed 14
将它与RaisePropertyChanged("TestID")(在if中,在设置字段值之后)组合在WPF或其他数据绑定解决方案中常见的事件模式时,它非常有用.
class Something : INotifyPropertyChanged
{
public int TestID
{
get { return testId; }
set
{
if (testId != value)
{
testId = value;
RaisePropertyChangedEvent("TestID");
}
}
}
}
Run Code Online (Sandbox Code Playgroud)