C#属性和字段的区别

一、访问性不同

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块,所以当不在本类中使用时无法保证使用字段的安全性

四、其他 

属性没有存储数据的功能,数据都存在字段中,所以只有修改字段的数据才能更改数据,修改属性的值没用。