1
.method private hidebysig static void Main(string[] args) cil managed
2
end of method Program::Main
源程序:2
注意到在反编出来的代码中的23行执行了装箱操作,但是对于后面的字符串转为Object确没有进行box.
另外, 由于一个字串在.net中一旦被创建出来就不可更改,可以认为CLR在内存维护了一个字符串的字典, 对于字符串的更改会在这个字典中查找是否已经存在,否则就再创建一新的字串. 因此于对这样的操作: Console.Write(str1 + str2)最好写成 Console.Write(str1), Console.Write(str2), 否则将产生一个新的字串.