[讨论]装箱和封箱的运用
大家都知道C#中的装箱和拆箱吧,装箱就是把数据项从堆栈自动复制到堆的行为;然后拆箱就是相反的过程吧。比如
int i = 42;
object o = i; //装箱
object o = 42;
int i = (int)o; //拆箱
这两种操作都会产生较大的开销,而且我感觉它们的用处不大。想请各位来讨论下它们。
大家都知道C#中的装箱和拆箱吧,装箱就是把数据项从堆栈自动复制到堆的行为;然后拆箱就是相反的过程吧。比如
int i = 42;
object o = i; //装箱
object o = 42;
int i = (int)o; //拆箱
这两种操作都会产生较大的开销,而且我感觉它们的用处不大。想请各位来讨论下它们。
呵呵,看来确实用处不大。再加一个拆箱吧,嘻嘻
int i=10;
object obj=i;
if(obj is int)
{
Console.WriteLine("The value of i is boxing!");
}
i=20;
Console.WriteLine("int:i={0}",i);
Console.WriteLine("object:obj={0}",obj);
int j= (int)obj;
Console.WriteLine("the value {0} is unboxing",j);
楼下的再谈谈你们的意见吧,呵呵