一、访问性不同
1、C#中属性:C#中属性是限制只能给变量赋于某个范围的值,是有限制的访问私有变量。
2、C#中字段:C#中字段是自由的、毫无限制的访问公有变量。
二、包含不同
1、C#中属版性:C#中属性中包含两个块:set和get,set块负责属性的写入工作,get块负责属性的读取工作。
public string ABC{get;set;}
2、C#中字段:C#中字段中不包含set和get两个块,可以直接进行字段写入和读取。
三、安全性权不同
1、C#中属性:C#中属性因为是私有的、写入和读取需要调用set和get块,所以当不在本类中使用时可以保证使用属性的安全性。
2、C#中字段:C#中字段因为是公有的、写入和读取不需要调用set和get块,所以当不在本类中使用时无法保证使用字段的安全性
四、其他
属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用。