C#装箱和拆箱原理详解

 更新时间:2015年10月12日 11:09:24   投稿:lijiao  
这篇文章通过图例主要介绍了C#装箱和拆箱原理,内容很简单,感兴趣的小伙伴们可以参考一下

.NET包含一个特殊的Object类,可以接受任意的数据类型的值,当所传递或所赋值的类型不是一个特定的数据类型时,object类就提供了一种传递参数和赋值的通用方法。赋给object的值必须作为引用类型,并存放砸托管堆中。

装箱:
int age = 24;
object refAge= age;
可以看的出,第一条语句创建一个变量age,并将值放在托管栈中;
第二条语句将age的值赋给引用类型。它将值24放在托管堆中。
这个值类型包装为引用类型的过程,称为装箱。

拆箱:
相反,将引用类型转换为值类型的过程称为拆箱。拆箱将对对象强制转换为原来的类型。对前面的对象进行拆箱。
int  newAge = (int) refAge;
string newAge =(String) refAge;
拆箱的值必须和它要转换的目标的变量有相同的类型。

通过上面简单图例讲解,是不是对C#装箱和拆箱原理有了大概的了解,如果想更深入的学习,请查阅下面的相关文章链接。

相关文章

  • C# 基于消息发布订阅模型的示例(下)

    C# 基于消息发布订阅模型的示例(下)

    这篇文章主要介绍了C# 基于消息发布订阅模型的示例,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-03-03
  • 使用C#的正则表达式验证中文字符(实例代码)

    使用C#的正则表达式验证中文字符(实例代码)

    本文通过实例代码给大家介绍了使用C#的正则表达式验证中文字符的方法,需要的的朋友参考下吧
    2017-07-07
  • C# 读取指定路径配置文件的方法

    C# 读取指定路径配置文件的方法

    为了实现多个C#程序共用一个config文件,需要程序读取指定路径的config文件。代码如下:
    2013-03-03
  • 基于mvc5+ef6+Bootstrap框架实现身份验证和权限管理

    基于mvc5+ef6+Bootstrap框架实现身份验证和权限管理

    最近刚做完一个项目,项目架构师使用mvc5+ef6+Bootstrap,用的是vs2015,数据库是sql server2014。下面小编把mvc5+ef6+Bootstrap项目心得之身份验证和权限管理模块的实现思路分享给大家,需要的朋友可以参考下
    2016-06-06
  • C#中math类的全部运算方法(总结)

    C#中math类的全部运算方法(总结)

    下面小编就为大家带来一篇C#中math类的全部运算方法(总结)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • C# 对象映射的高性能方案

    C# 对象映射的高性能方案

    这篇文章主要介绍了C# 对象映射的高性能方案,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,有需要的朋友可以借鉴参考下
    2020-12-12
  • 3种C# 加载Word的方法

    3种C# 加载Word的方法

    本次经验内容分享通过C#程序来加载Word文档的3种不同方法。分别是:加载本地Word文档、以只读模式加载Word文档、从流加载Word 想具体了解的小伙伴请参考下文
    2021-09-09
  • C#向线程中传递多个参数的解决方法(两种)

    C#向线程中传递多个参数的解决方法(两种)

    这篇文章主要介绍了C#向线程中传递多个参数的解决方法(两种)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • C#/VB.NET实现从PPT中提取图片的示例代码

    C#/VB.NET实现从PPT中提取图片的示例代码

    PPT是用于制作幻灯片(演示文稿)的应用软件,每张幻灯片中都可以包含文字、图形、图形、表格、声音和影像等多种信息。本文主要介绍了如何实现从PPT中提取图片的功能,需要的可以参考一下
    2023-03-03
  • C#生成唯一值的方法汇总

    C#生成唯一值的方法汇总

    这篇文章主要介绍了C#生成唯一值的方法汇总,有需要的朋友可以参考一下
    2013-11-11

最新评论