sb === stringbuilder,我变量都用sb开头的。。
为啥用stringbuilder,因为string的改变会分配新内存空间;
为啥要新分配内存,因为string的设计原理造成的;
为啥这么设计,因为string是引用类型;
为啥是引用类型,因为string大小可变,不像int,char等等;
可变就要这么设计?因为值类型每次都分配内存,string这样做会占大量内存;
那怎么办?所以把所有string值存在一个hash表里,统一管理,创建新string在里面找有一样的就把地址给他,没有再加新的;
这样的好处?内存占用少,避免相同实例,作参数时只传地址,当然还有其他优点;
不能当值类型用了?当然可以,因为重写了==和!=;
还有啥要说的?想起来再说吧;
你说的对嘛?不知道。。
那我不白看了?答对了,我就是写给自己看得。。
参考以下两贴:
http://topic.csdn.net/t/20040818/11/3285753.html
http://blog.joycode.com/qqchen/archive/2004/08/21/31216.aspx
浙公网安备 33010602011771号