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

C#引用传递代码记录

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace 值传递和引用传递
{internal class Program{static void Main(string[] args){person P1=new person();P1.name = "张三";person P2 = P1;P2.name = "李四";Console.WriteLine(P1.name);Console.WriteLine(P2.name);//拆装箱int n = 10;object o = n;int nn = (int)o;//拿什么装的拿什么拆//  double oo = (double)o;double oo = (double)nn;Console.WriteLine(nn);Console.WriteLine(oo);Console.ReadKey();}public class person {public string name{get;set;}}}
}

代码分析1

  1. 创建对象
    • person P1 = new person(); 创建一个新的 person 对象,并将 P1 设置为引用该对象。
  2. 设置属性
    • P1.name = "张三"; 设置 P1 引用的对象的 name 属性为 "张三"。
  3. 引用赋值
    • person P2 = P1; 将 P2 设置为引用与 P1 相同的对象。此时,P1 和 P2 都指向同一个对象。
  4. 修改属性
    • P2.name = "李四"; 修改 P2 引用的对象的 name 属性为 "李四"。由于 P1 和 P2 引用的是同一个对象,因此 P1.name 也会变为 "李四"。
  5. 输出结果
    • Console.WriteLine(P1.name); 和 Console.WriteLine(P2.name); 都会输出 "李四",因为它们引用的是同一个对象。

代码分析2

  1. 变量 n 的定义
    • int n = 10; 定义一个整数变量 n,并初始化为 10。
  2. 装箱操作
    • object o = n; 将整数 n 装箱到 object 类型的变量 o 中。装箱是将值类型转换为引用类型的过程。
  3. 拆箱操作
    • int nn = (int)o; 将 object 类型的变量 o 拆箱为 int 类型的变量 nn。拆箱是将引用类型转换回原始值类型的过程。
  4. 类型转换
    • double oo = (double)nn; 将 int 类型的变量 nn 转换为 double 类型的变量 oo。由于 int 可以隐式转换为 double,因此显式转换是安全的。
  5. 输出结果
    • Console.WriteLine(nn); 输出 nn 的值,即 10。
    • Console.WriteLine(oo); 输出 oo 的值,即 10.0。

http://www.xdnf.cn/news/13306.html

相关文章:

  • 第七章: SEO与渲染方式
  • 滚珠导轨在汽车自动化装配线中的核心传动
  • AVCap视频处理成帧和音频脚本
  • CKA考试知识点分享(9)---gateway api
  • 混合型交易所架构:CEX+DEX融合与Layer2扩展方案
  • Visual Stdio程序弹出的黑框内容如何复制
  • (天文学)恒星的介绍分类
  • 中兴B860AV1.1江苏移动-自动降级包
  • 手写RPC框架<四> 负载均衡
  • LSTM-XGBoost回归预测,多输入单输出(Matlab完整源码和数据)
  • 【AI时代速通QT】第一节:C++ Qt 简介与环境安装
  • 41页PPT | 基于AI制造企业解决方案架构设计智能制造AI人工智能应用智能质检人工智能质检建设
  • MyBatis实战指南(六)自动映射
  • 科技评论:Jim Keller 的“反向”战略:RISC-V 成为中国应对美国芯片封锁的关键武器
  • 为何AI推理正推动云计算从集中式向分布式转型
  • 一个教学项目pom.xml杂记
  • V837s-SDK Telnetd服务连接不上异常解决
  • 蓝奏云(Lanzou Cloud)一款国内知名的免费网盘和文件分享服务 以及蓝奏云的api
  • Cesium1.95中高性能加载1500个点
  • MybatisPlus
  • python整数处理 2022年信息素养大赛复赛/决赛真题 小学组/初中组 python编程挑战赛 真题详细解析
  • c++中类的继承
  • 使用Meshlab处理非流形边的问题
  • ruoyi框架分页插件失效
  • PG库创建自增ID
  • 【无标题】装箱问题的拓扑动力学解法:几何凝聚与量子坍缩模型
  • 7.3.折半查找(二分查找)
  • Playwright:高效处理浏览器兼容性的自动化测试利器
  • BERT情感分类
  • net中Serilog 使用json配置输出日志