一、装箱和取消装箱使值类型能够被视为对象。对值类型装箱将把该值类型打包到 <?XML:NAMESPACE PREFIX = MSHelp NS = "http://msdn.microsoft.com/mshelp" /> 引用类型的一个实例中。这使得值类型可以存储于垃圾回收堆中。取消装箱将从对象中提取值类型。
例:
int i = 123;
object o = i; //装箱
object o = i; //装箱
在此示例中,整型变量
i 被“装箱”并赋值给对象 o。
然后,可以对对象
o 取消装箱并将其赋值给整型变量
i:
o = 123;
i = o; // 拆箱
i = o; // 拆箱
二、类型转换
1.Parse
用“类型.Parse(string)”语法来实现
例:
int i =
int.Parse(“123”);
2.Convert.To类型
这是一种强类型转换
例:
int i = Convert.ToInt32(“123”);
总结:
1.相对于简单的赋值而言,装箱和取消装箱过程需要进行大量的计算。对值类型进行装箱时,必须分配并构造一个新对象。次之,取消装箱所需的强制转换也需要进行大量的计算。所以,我们应尽量避免使用装箱拆箱。
2.Convert.To能转换的类型很多,Parse只能转换string类型的。
写的很水,拍砖请轻点。
转载于:https://blog.51cto.com/264661564/361875