C#,属性与变量和无变量之间的差异

Kun*_*esh 8 c# properties automatic-properties

可能重复:
将私有成员封装为属性和定义没有私有成员的属性之间有什么区别?

我知道属性的基本功能.但是当我深入阅读文档时,我发现它们只是在get set和没有变量的情况下被声明.

这两者之间有什么不同

public int EmpCode
{
    get { return _strEmpCode; }
    set { _strEmpCode = value; }
}  
Run Code Online (Sandbox Code Playgroud)

public int EmpCode
{
    get; 
    set; 
}  
Run Code Online (Sandbox Code Playgroud)

这是一种更简单的写作方式,随着.net框架的升级而得到了.或者有任何功能差异?

Pau*_*aul 6

后者称为自动属性并且是相同的.它们是在C#3中介绍的,您可以在这里阅读更多相关内容:http://trashvin.blogspot.com/2008/05/automatic-properties-and-object. HTML

简单地说,自动属性是语法糖,因此开发人员必须输入更少的代码,编译器将为您生成私有字段和公共setter和getter.

  • @Nithesh Hebri - 是的,.NET 3.5正在运行c#3.0 (2认同)