属性封装字段并提供安全访问,通过get和set控制读写;2. get返回值,set接收value并可添加验证逻辑;3. 支持自动属性和表达式体语法简化代码。
在C#中,属性(Property)是一种特殊的类成员,用于封装字段(field),提供对私有数据的安全访问。它看起来像一个公共变量,但背后可以包含逻辑来控制读取和写入操作。属性通过 get 和 set 访问器实现值的获取与设置。
属性通常与一个私有字段关联,通过 get 返回字段值,通过 set 设置字段值。这样可以在赋值或取值时加入验证、日志或其他逻辑。
public class Person
get { return name; }上面的例子中,Name 是一个属性,外部代码可以像使用字段一样访问它:
Person p = new Person();get 访问器 在读取属性值时被调用,应返回与属性类型相同的值。
set 访问器 在给属性赋值时被调用,传入的新值通过隐含的 value 关键字接收。
你可以为访问器添加额外逻辑,比如数据校验:
public int Age如果不需要在 get 或 set 中添加逻辑,可以直接使用自动属性,编译器会自动生成背后的私有字段:
public class Person这种写法简洁,适用于大多数简单场景。
可以通过省略 set 或 get 来创建只读或只写属性:
基本上就这些。属性是C#中实现封装的重要手段,合理使用 get 和 set 可以让代码更安全、更灵活。