【发布时间】:2011-01-10 06:07:59
【问题描述】:
这是我在代码中一直纠结的问题。假设我们有以下代码:
public class MyClass {
private string _myVariable;
public string MyVariable {
get { return _myVariable; }
set { _myVariable = value; }
}
public void MyMethod() {
string usingPrivateMember = _myVariable; // method A
string usingPublicProperty = MyVariable; // method B
}
}
哪种方法更正确 - 方法 A 或 B?我总是为此感到难过。方法 A 似乎会更快,因为它不必在获取实际变量之前访问属性。但是,方法 B 更安全,因为如果 MyVariable 的 getter 将业务逻辑添加到其中,则始终调用它是安全的,即使当前没有业务逻辑也是如此。
普遍的共识是什么?
【问题讨论】:
-
感谢您找到这些!我尝试搜索,但我想我没有使用正确的关键字进行搜索。
-
SO 搜索仍然很差,你试过谷歌和'site:stackoverflow.com'吗?
标签: c# variables properties