C# 指南之装箱与拆箱

基础

1、值类型

     1.1 在栈上分配内存,在声明时初始化才能使用,不能为null。

     1.2 值类型超出作用范围系统自动释放内存。

     1.3 主要由两类组成:结构,枚举

           结构分为以下几类

           1、整形(Sbyte,Byte,Char,Short,Ushort,Int,Uint,Long,Ulong) 

           2、浮点型(float,Double)

           3、decimal

           4、bool

           5、自定义结构体(struct)

2、引用类型

   1、引用类型在堆中分配内存,初始化时默认为null

   2、引用类型是通过垃圾回收机制回收。

    3、包括类、接口、委托、数组以及内置引用类型object、string

由于C#中所有数据类型都是由基类System.Object继承而来,所以值类型和引用类型的值可以通过显示或者隐式操作相互转换,而这种转换过程就是装箱和拆箱过程。

1、装箱  值类型--引用类型

2、拆箱  引用类型--值类型

原文地址:https://www.cnblogs.com/xiaochun126/p/4148737.html