淘小店

2011年2月19日

c# string类型的一个理解误区

摘要: 今天看到一个面试题,执行string abc= “aaa"+"bbb"+"ccc" 共分配了多少内存。我首先想到了,string变量是只读的,每次+都会生成一个新的string对象,这样的话,首先执行string abc="aaa"会在托管堆上分配一块内存存放aaa,然后执行 ”aaa“+”bbb“,又会生成一个新的对象,然后再分配一块内存,随后执行+”ccc“也是一样,呵呵,其实这是错误的。c#编译器对这种操作进行了优化,上面的这种写法会被编译成与string abc="aaabbbccc"相同的代码,并没有 阅读全文

posted @ 2011-02-19 15:30 adu123 阅读(225) 评论(0) 推荐(0) 编辑

导航

淘小店