C#中的装箱拆箱
2017-08-11 15:00
169 查看
在C#中,经常需要把值类型和引用类型相互转换。
首先明确两条法则:
1.引用类型总是被分配到“堆”上。
2.值类型总是分配到它声明的地方:
a.作为引用类型的成员变量分配到“堆”上
b.作为方法的局部变量时分配到“栈”上
1. 装箱在值类型向引用类型转换时发生,执行装箱操作时要在堆上申请内存空间,并将堆栈上的值类型数据复制到申请的堆内存空间上
2. 拆箱在引用类型向值类型转换时发生。
首先明确两条法则:
1.引用类型总是被分配到“堆”上。
2.值类型总是分配到它声明的地方:
a.作为引用类型的成员变量分配到“堆”上
b.作为方法的局部变量时分配到“栈”上
1. 装箱在值类型向引用类型转换时发生,执行装箱操作时要在堆上申请内存空间,并将堆栈上的值类型数据复制到申请的堆内存空间上
2. 拆箱在引用类型向值类型转换时发生。
//装箱 object obj = 1; //拆箱 object objValue = 4; int value = (int)objValue;
相关文章推荐
- C# 装箱与拆箱
- C#基础知识整理 基础知识(19) 值类型的装箱和拆箱(二)
- C#核心概念--装箱和拆箱(什么是装箱和拆箱)
- c#基础语言编程-装箱和拆箱
- 深入理解C#的装箱和拆箱
- 深入C#内存管理来分析值类型&引用类型,装箱&拆箱,堆栈几个概念组合之间的区别
- C# 装箱跟拆箱
- 【C#】装箱和拆箱
- C# 的装箱与拆箱的问题
- C# 装箱和拆箱
- 《CLR via C#》精髓:装箱和拆箱
- 装箱与拆箱C#(一)
- C#中的装箱&&拆箱
- c#中的装箱(boxing)和拆箱(unboxin)
- C# 装箱和拆箱
- 读书笔记-C#中装箱拆箱性能
- 深入理解C#的装箱和拆箱(转)
- C#核心概念--装箱和拆箱(什么是装箱和拆箱)
- 深入C#内存管理来分析 值类型、引用类型、装箱、拆箱、堆栈几个概念组合
- C#回顾学习笔记二十八:装箱和拆箱