装箱条款的定义

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/15 09:32:40
装箱条款的定义装箱条款的定义装箱条款的定义C#指南之装箱与拆箱知识点值类型.值类型是在栈中分配内存,在声明时初始化才能使用,不能为null.值类型超出作用范围系统自动释放内存.主要由两类组成:结构,枚

装箱条款的定义
装箱条款的定义

装箱条款的定义
C# 指南之装箱与拆箱 知识点 值类型. 值类型是在栈中分配内存,在声明时初始化才能使用,不能为null. 值类型超出作用范围系统自动释放内存. 主要由两类组成:结构,枚举(enum),结构分为以下几类: 整型(Sbyte、Byte、Char、Short、Ushort、Int、Uint、Long、Ulong) 浮点型(Float、Double) decimal bool 用户定义的结构(struct) 引用类型. 引用类型在堆中分配内存,初始化时默认为null. 引用类型是通过垃圾回收机制进行回收. 包括类、接口、委托、数组以及内置引用类型object与string. 概念 由于C#中所有的数据类型都是由基类System.Object继承而来的,所以值类型和引用类型的值可以通过显式(或隐式)操作相互转换,而这转换过程也就是装箱(boxing)和拆箱(unboxing)过程. 装箱 是值类型到 object 类型或到此值类型所实现的任何接口类型的隐式转换.对值类型装箱会在堆中分配一个对象实例,并将该值复制到新的对象中. 拆箱(取消装箱)是从 object 类型到值类型或从接口类型到实现该接口的值类型的显式转换.取消装箱操作包括: 检查对象实例,确保它是给定值类型的一个装箱值.(拆箱后没有转成原类型,编译时不会出错,但运行会出错,所以一定要确保这一点.用GetType().ToString()判断时一定要使用类型全称,如:System.String 而不要用String.) 将该值从实例复制到值类型变量中.