很多小伙伴对C#中属性和字段很难分清,以下是这两者的区别:
一、访问性不同。
1、属性是限制的,只能给变量赋于某个范围的值,是有限制访问的私有变量。
2、字段是自由的、毫无限制访问的共有变量。
二、包含不同。
1、属性包含get和set,set负责写入工作,get负责读取工作(当缺少其中一块时属性就只能读或只能写,set和get块必需有一个,因为即不能读又不能写的属性是没有意义的)。
2、字段不包含get和set,可以直接进行读取和写入。
三、安全性不同。
1、属性是私有的,写入和读取需要调用get和set,当不在本类中使用时可以保证使用属性的安全性。
2、字段是共有的,写入和读取不需要调用,当不在本类中使用时不能保证使用字段的安全性。
属性和字段都可以叫做成员变量,都是用来存储数据的。