C#装箱和拆箱的用处.

来源:百度知道 编辑:UC知道 时间:2024/05/25 23:19:11
介绍他的优点,不这样或不用他会怎样
是不是相当于c语言里的定义变量呀。必须这么定义?
int a = 100;
int b = 200;
// object obj = a;
// a = (int)obj;
// obj = b;
// b = (int)obj;
Console.WriteLine(a);
Console.WriteLine(b);
Console.Read();

int a = 100;
int b = 200;
object obj = a;
a = (int)obj;
obj = b;
b = (int)obj;
Console.WriteLine(a);
Console.WriteLine(b);
Console.Read();

拆箱是把“引用”类型转换成“值”类型;
装箱是把“值”类型转换成“引用类型”;
原因是有时某些方法的参数要求使用“引用”类型,而你想把“值”类型的变量通过这个参数传入,就需要使用这个操作。

拆箱和装箱 其实就是类型转换 在C#里那么叫

装箱:低类型-->高类型 例:object i="aa";
这个是 string --> object 叫装箱

拆箱:高类型-->低类型 例:String i=(String)object;
这个是 string --> int 叫拆箱

例如:
bool aa=true;
object bb=aa; //装箱
bool cc=(bool)bb; //拆箱

说大白话就是:不用它们你就转不了型儿。。。没别的。。。

这个不是“用”的,是“知道”的,就像值类型在栈上引用类型在托管堆上一样
装箱拆箱过于频繁会影响运算效率,所以尽量减少装箱拆箱的动作

优点?它的结果是值类型和引用类型之间的类型转换,是数据存储在栈与堆之间变更,谈不上“优点”吧

它只是告诉你如何类型的转换机理,让你更好地理解类型转换

不用他应该是不可能的吧。值类型的转换是经常的事,只是你不知道后台已经进行了装箱和拆箱的操作而已。理解装箱和拆箱会对提高你的代码运行效率有所帮助。

优点嘛,用object装箱来处理数据,可以做到动态调用