2012-01-10 101 views
0

可能重复:
Differences between Private Fields and Private Properties初始化对象的私有财产

比方说,我有一个拥有私人财产MyProp一个MyClass类。 有什么

public class MyClass 
{ 
    private int MyProp { get; set; } 
} 

public class MyClass 
{ 
    private int MyProp = 0; 
} 

更棒的使用之间的区别? 谢谢。

+0

第一个是一个属性。第二个是一个领域。 – DOK 2012-01-10 21:12:07

+1

重复相同类型的问题... http://stackoverflow.com/questions/1568091/why-use-getters-and-setters – Lloyd 2012-01-10 21:12:18

+0

http://stackoverflow.com/questions/653536/difference-between-财产和场中的c - 锐利 http://csharpindepth.com/articles/chapter8/propertiesmatter.aspx – 2012-01-10 21:14:04

回答

0

您通常有一个公共属性的组合和私人领域:

public class MyClass 
{ 
    private int _someInt; 

    public int SomeInt { get { return _someInt; } set { _someInt = value; } } 
} 

这总是你创建的类数据的抽象层(公物)(私有字段)。当你创建一个属性时,就会生成一个私有字段(我相信)。私人领域是必要的吗?不,但明确宣布这是可取的。在班级内部,成员利用私人领域。