C#中的字段和属性有什么区别?一般是访问其字段还是属性?

还有C#中的String和string有什么区别?定义字段时选择哪一种?

string是C#中字符串类型,String 则是string 对应的真实CLR中的类型
习惯上使用string定义
使用了属性可以对字段进行有效的保护
比如有一个int类型的年龄字段age,如果直接访问字段就可以不受任何约束的进行赋值,读取操作
但是如果有了属性,在赋值时就可以进行有效判断,如果赋值时小于18,则默认是18岁
public int Age

set
{
age = value<18 ?18 : value;
}
get
{
return age;
}
追问

如果读取age字段时,是直接访问age字段还是Age属性?

追答

通常,我们在定义字段时用private修饰符修饰的,在类的外部不可能被访问到,只能通过属性进行操作

温馨提示:答案为网友推荐,仅供参考
相似回答