本帖最后由 黑马-柯校 于 2014-6-15 13:46 编辑
首先是概念:
装箱:将值类型转换为引用类型。
拆箱:将引用类型转换为值类型。
int n = 10;
object o = n;//发生了一次装箱
int m = (int)o;//发生了一次拆箱
注意1:装箱的时候是什么类型,拆箱的时候也用什么类型
int n = 10;
object obj = n;
double d = (double)obj;//报错,只能用int来拆箱。
注意2:装箱和拆箱只限于值类型→引用类,引用类型→值类型。
string s = "10";
object obj = s;
string x = (string)obj;//不是装箱或拆箱。(装箱和拆箱只限于值类型→引用类,引用类型→值类型。 )
注意3:
int i = 10;
string s = Convert.ToString(i);//不是装箱,int类型为什么能装箱到object类型,但不能装箱到string类型,因为object类型是int类型的父类。
|