c#相关基础连接
装箱:值类型转换为引用类型
拆箱:将已装箱的值类型转换值类型
注意:装箱比拆箱的代价更大,因此为了提高性能,需要减少装箱次数
例子:
static void Main(string[] args)
{
int n = 1;
object obj = n; //值类型转引用类型(装箱)
//n由值转string(引用类型) 装箱 obj进行引用转值类型(拆箱),后转string(引用类型)(装箱),
Console.WriteLine(n+","+(int)obj);
}
一共用了3次装箱,优化后
static void Main(string[] args)
{
int n = 1;
object obj = n;
Console.WriteLine(n.ToString() + "," + ((int)obj).ToString());
}
当你调用object类型的非虚方法时会进行装箱