大家都知道C#中的装箱和拆箱吧,装箱就是把数据项从堆栈自动复制到堆的行为;然后拆箱就是相反的过程吧。比如
int i = 42;
object o = i; //装箱
object o = 42;
int i = (int)o; //拆箱
这两种操作都会产生较大的开销,而且我感觉它们的用处不大。想请各位来讨论下它们。
的确用得比较少!
贴个例子:
using System;
namespace Boxing装箱
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Test
{
[STAThread]
public static void Main()
{
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);
}
}
}