我试图帮助我的朋友理解诸如字段和属性以及getter / setter之类的内容。然后,他使用没有私人领域的房产,并告诉我它有效。我甚至都不知道这是可能的,而且似乎无法在网上找到太多关于它的信息。
举个例子:
public int Number { get; set; }
而不是:
private int number;
public int Number
{
get { return number; }
set { number = value; }
}
它似乎有用(据我所见),但现在我有以下问题:
编辑:
我一直以为{得到;组;与get {return x;相同} set {x = value; }。哦,好吧,我现在知道了。然而问题仍然是一样的。一个被认为比另一个好吗?优点/缺点?
答案 0 :(得分:1)
在第一种情况下,编译器会自动创建一个私有字段作为属性的后备存储,为其提供一个在用户代码中无法访问的名称,并创建获取和设置其值的方法。
在您的代码中,您需要花时间明确地执行此操作,并且还在该支持字段的类范围内创建有效的标识符,与前面的示例不同。