读经典——《CLR via C#》(Jeffrey Richter著) 笔记_值类型的装箱和拆箱(二)

【注意】:如果知道自己写的代码会造成编译器反复对一个值类型进行装箱,请改成用手动方式对值类型进行装箱。

【好处】:代码会变得更小、更快。

【例子】:

using System;

public sealed class Program 
{
  public static void Main()
  {
     //创建一个未装箱的值类型变量
     Int32 v = 5; 

     //编译代码时,v会被装箱三次,浪费时间和内存
     Console.WriteLine("{0}, {1}, {2}", v, v, v);

     //下面代码能获得相同的结果,但无论执行速度,还是内存
     //利用,都比前面的代码更胜一筹
     Object o = v; //对v进行手动装箱(仅一次)
  
     //编译下面这行时,不会发生装箱
     Console.WriteLine("{0}, {1}, {2}", o, o, o);
  }
}

 

posted @ 2015-05-08 09:47  lishidefengchen  阅读(110)  评论(0编辑  收藏  举报