一直对C#中的字段和属性的不是很理解,在这里做个记录。
前几年做WEB开发的时候,声明一个类,比如下面的人是这个样子。
class Person
{
private int age
public void SetAge(int value)
{
age=value;
}
public int GetAge()
{
return age;
}
}
仔细想想这么做有点麻烦,要写两个方法,部分代码看起来挺累赘的,但如现在有了属性后,人的写法就是这个样子了。
class Person
{
private int age
public int Age
{
get{return age;}
set{age=value;}
}
}
代码看起来就比较和谐了,所以属性就是对字段的封装,本质上来说就是两个方法,写到了一起而已,空口无凭,咱们反编译看一下。
如上图所示,属性奥格实际上被编译成了两个方法,也就是说是个语法糖而已。