C#中将值类型变量赋值给对象与将对象赋值给值类型变量(装箱与拆箱)
来源:互联网 发布:kmp算法next原理 编辑:程序博客网 时间:2024/06/05 04:16
C#笔试题中,经常会考 到装箱和拆箱的问题。一般都是通过间接的方式来考查,如:问将一个整型数据赋值给一个对象会进行什么操作? (答案是装箱)或通过程序题来考查 ,写出以下程序的输出结果?(答案:a = 17 j=17)
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { int i = 17; object a = i; Console.WriteLine("a = "+a); int j = (int)a; Console.WriteLine("j = "+j); } }}
通俗的说法,装箱和拆箱的过程就是值类型与引用类型相互转化的过程。
装箱和拆箱的过程是将值类型视为对象。装箱时,将值类型数据存储于垃圾回收堆中;拆箱时,将值类型数据从对象中取出来。
为什么要进行装箱和拆箱,请举例说明?
答:当进行函数调用时,如果函数的形参为引用类型,但要将值类型变量传递给该函数,那么就要将值类型变量装箱;一个非泛型容器,为了保证通用性,通常将数据类型设为引用类型,在容器中装入值类型数据时就需要装箱。
- C#中将值类型变量赋值给对象与将对象赋值给值类型变量(装箱与拆箱)
- cuda 中给 __constant__类型变量赋值
- 给fpos_t类型的变量赋值
- 如何将一个对象赋值给指定类型的数据?
- php中对象赋值给变量
- 对象引用与变量赋值
- shell中将命令结果赋值给变量
- SQL中将查询结果赋值给变量
- SQL中将查询结果赋值给变量
- SQL中将select结果赋值给变量
- shell中将命令结果赋值给变量
- 将C++的std::string类型变量赋值给char类型数组
- C#值类型赋值与引用类型的赋值
- C#值类型赋值与引用类型的赋值
- C#值类型赋值与引用类型的赋值
- C#值类型赋值与引用类型的赋值
- JavaScript将函数名赋值给变量与函数名加括号赋值给变量的区别
- 整数类型变量赋值与码制
- C# eval()函数浅谈
- 隐藏MOSS2010 左边的导航
- Fxcop ASP.NET Security Rules - 为FxCop定制的ASP.NET安全规则包
- Oracle数据库中的字符处理技巧总结
- Java垃圾收集器使用小诀窍
- C#中将值类型变量赋值给对象与将对象赋值给值类型变量(装箱与拆箱)
- %type 和%rowtype 的区别!
- 又见bug,动态调整SGA参数导致数据库crash
- 在sql的条件里进行日期添加或减去一个值(年月日的一个值)
- Sharepoint 2010 学习资源总结
- KMP算法
- 图形化方式展示sharepoint2013的新特性
- 关于SQL语句中的双引号、单引号
- SharePoint Server2010面向服务SOA架构的