当前位置: 首页 > news >正文

C#中的get和set

当我们定义属性的 get 访问器和 set 访问器时,其中的 returnvalue 分别代表以下含义:

  • return:在 get 访问器中使用,表示返回属性的值给调用方。它用于将属性关联的字段的值返回给外部代码。
  • value:在 set 访问器中使用,表示要为属性设置的值。它用于将外部代码传递给属性关联的字段,并将其赋值给字段。

下面是对不同类型属性的详细解释和示例说明:

  1. 只读属性(Read-Only Property):只包含 get 访问器的属性,无法从外部进行赋值,只能读取属性的值。
private string name; // 字段public string Name // 只读属性
{get{return name; // 返回字段的值}
}

在上述示例中,属性 Name 是只读属性,它只包含 get 访问器。外部代码可以读取该属性的值,通过 get 访问器返回字段 name 的值。

MyClass obj = new MyClass();
string name = obj.Name; // 使用 get 访问器获取 Name 属性的值
  1. 只写属性(Write-Only Property):只包含 set 访问器的属性,无法从外部读取属性的值,只能进行赋值操作。
private string address; // 字段public string Address // 只写属性
{set{address = value; // 将传入的值赋给字段}
}

在上述示例中,属性 Address 是只写属性,它只包含 set 访问器。外部代码可以使用赋值操作符将值赋给该属性,通过 set 访问器将传入的值赋给字段 address

MyClass obj = new MyClass();
obj.Address = "123 Main St"; // 使用 set 访问器设置 Address 属性的值
  1. 读写属性(Read-Write Property):包含同时拥有 get 访问器和 set 访问器的属性,可以从外部读取属性的值和设置属性的值。
private int age; // 字段public int Age // 读写属性
{get{return age; // 返回字段的值}set{age = value; // 将传入的值赋给字段}
}

在上述示例中,属性 Age 是读写属性,它同时包含 get 访问器和 set 访问器。外部代码可以读取该属性的值和为其赋值。

MyClass obj = new MyClass();
obj.Age = 25; // 使用 set 访问器设置 Age 属性的值
int currentAge = obj.Age; // 使用 get 访问器获取 Age 属性的值

在以上示例中,return 在 get 访问器中用于返回属性关联字段的值,而 value 在 set 访问器中用于接收外部代码传递的值,并将其赋给属性关联的字段。通过这种方式,属性的 get 访问器和 set 访问器提供了对属性值的读取和设置的统一接口。

http://www.lryc.cn/news/144886.html

相关文章:

  • mysql8.0以上忘记密码的重置方法 - window系统
  • 手写Vue3响应式数据原理
  • 基于PIC单片机篮球计分计时器
  • 关于Maxwell与Kafka和数据库的监控
  • 【设计模式】Java设计模式详细讲解
  • 【MySQL】表的增删查改(进阶)
  • Vim几种跳转方式
  • element-ui 弹窗里面嵌套弹窗,解决第二个弹窗被遮罩层掩盖无法显示的问题
  • 【业务功能篇76】微服务网关路由predicates断言条件-filters路由转换地址-跨域问题-多级目录树化层级设计-mybatisPlus逻辑删除
  • apache的ab工具测试网页优化效果速度以及服务器承载
  • 【进阶篇】MySQL 存储引擎详解
  • Spring集成【MyBatis】和【PageHelper分页插件】整合---详细介绍
  • PyCharm下安装配置PySide6开发环境(Qt Designer(打开,编辑)、PyUIC和PyRCC)
  • pytest fixture 创建一个 requests.session() 对象
  • 深入分析负载均衡情景
  • WPF基础入门-Class5-WPF命令
  • 云安全攻防(十三)之 使用minikube安装搭建 K8s 集群
  • Python数据分析 | 各种图表对比总结
  • linux系统(centos、ubuntu、银河麒麟服务、uos、deepin)判断程序是否已安装,通用判断方法:适用所有应用和命令的判断
  • Python3多线程/多进程解决方案(持续更新ing...)
  • 在`CentOS`中安装`Docker Engine`
  • [ VMware 虚拟机 ] 启动不了图形界面,报 “The system is running in low-graphics mode” 错误
  • 如何提高视频清晰度?视频调整清晰度操作方法
  • IO进程线程,文件与目录,实现linux任意目录下ls -la
  • R语言如果列表中有列表,且每个子列表有一个向量:如何转变为仅仅一个列表里面含有向量
  • nrm管理源仓库及发布私人npm包
  • 云计算——虚拟化中的网络架构与虚拟网络(文末送书)
  • B - 负环
  • 居中一个元素(水平+垂直居中)
  • React笔记(二)JSX