用 Console.WriteLine("当前整数为:{0}",i) 输出,这里的整型数 i ,会执行装箱操作吗?我看书上说,这种情况,会执行装箱操作,因为Console.Writeline()需要object类型,
我有点不明白,真是这样吗?这不是多此一举吗?
class Program
{
static void Main(string[] args)
{
int i = 10;
Console.WriteLine("当前整数为:{0}",i);
Console.ReadLine();
}
}
我有点不明白,真是这样吗?这不是多此一举吗?
class Program
{
static void Main(string[] args)
{
int i = 10;
Console.WriteLine("当前整数为:{0}",i);
Console.ReadLine();
}
}
其中一个重载方法的参数就是int类型的
http://topic.csdn.net/u/20090403/14/5b7bc68e-820b-49cd-bd36-178f9a30c137.html
public static void WriteLine (
string format,
Object arg0
)
这里必然会装箱的。书上写的很对。最好写
Console.WriteLine("当前整数为:{0}",i.ToString());
Console.WriteLine( "当前整数为:{0} ",i.ToString());
-----------------------------------------------
为什么 i.tostring()就不会装箱了呢?
是不是因为字符串string型本身就是引用类型呀。另外,这样写只是手动装箱呀,效率没有任何变化吧。
一个是clr负责装箱,一个是手动写代码进行装箱,效率应该完全一样吧。