C#中的字段和属性有什么区别

2025-04-16 08:17:51
推荐回答(2个)
回答1:

二者都是访问内部字段。属性本质上来说是个方法,但是在通过属性给内部字段赋值(set)可以加上自己的逻辑判断或限制等等,通过属性取值取值(get)当然也可以加一些跟你业务逻辑相关的code。总之是用属性是个好习惯,不要直接把字段暴露出来。

回答2:

12345678910111213141516171819public class MyClass{ // 字段:也就是定义在类(或结构体)的变量。 private int x; public int y; public MyClass() { x = 10; y = 20; } // 属性:使用get/set包装存储器包装的方法。 public int X { get{ return x;} set{ x = value;} }}