关于字段(field)和属性(Property)的区别,在书中说到的是没有区别的,而在我前面的文章中曾经有一段是这样写的:
class MyClass{
public string Name{
get {return Name;}
sel{Name=value;}
}}
这样写理论上讲应该是没错(我也不太确定),但是,C#中有这个功能能够将字段包装以属性的方式来读取字段的内容。也就是说需要将代码修改成下面这样:
class MyClass{
public readonly string name;
public string Name{
get {return Nname;}
set {name=value;}
}
public MyClass(){
name="abc";}}
static viod Main(){
MyClass obj1=new MyClass();
Consol.writeLine(obj1.Name);
}
//输出结果为 abc;
原来属性是对字段的一种封装方式,可以使其更有实用性,C#真人性化!!