C#装箱和拆箱

一,装箱

装箱是指将值类型转化为引用类型。

代码如下:

装箱的内部过程

  • 当值类型需要被装箱为引用类型时,CLR(Common Language Runtime)会为值类型分配内存,在堆上创建一个新的对象。
  • 值类型的数据会被复制到这个新创建的对象中。
  • 最终,装箱操作会返回一个指向堆上新对象的引用。

二,拆箱

装箱是指将引用类型转化为值类型。

代码如下:

拆箱的内部过程

  • 当需要从引用类型中提取值类型数据时进行拆箱操作。
  • CLR会检查引用类型的实际数据类型是否与拆箱的目标值类型相匹配,如果不匹配会引发无效的类型转换异常。
  • 拆箱操作会从堆上的对象中提取值类型的数据,并将其转换为目标值类型。
相关推荐
光泽雨5 小时前
c#中的“跨界找人”
c#
yuan199976 小时前
基于 C# 实现的 Omron HostLink (FINS) 协议 PLC 通讯
开发语言·c#
火星papa7 小时前
C# 任务(Task)的基础实现
c#·任务·task
烛阴10 小时前
Unity资源加载进化论:从AssetBundle到Addressables,一文带你吃透手游资源管理
前端·c#·unity3d
aini_lovee12 小时前
C#与倍福PLC(通过ADS协议)通信上位机源程序实现
开发语言·c#
2501_9307077814 小时前
使用C#代码压平 PDF 表单字段
数据库·pdf·c#
IT知识分享17 小时前
数字上标、下标如何打,6种常用方法详解
开发语言·c#·xhtml
码农学院17 小时前
itextsharp .net中如何设置两个表格的间距设为0,取网站的域名,协议、端口、当前站点目录的地址
开发语言·c#·.net
monkeyhlj18 小时前
Agent Skills简单理解
开发语言·c#
星河耀银海19 小时前
Unity C#入门:变量的定义与访问权限(public/private)
unity·c#·lucene