string 与 StringBuilder

string是引用类型,它不同于值类型,
例如int tmp;无论再次给它赋值多少次,都是在原内存地址上改写
然而string,每次重新赋值都会重新分配内存空间,所以除非是一个固定不变的字符串,否则都不应该贪图方便直接使用string来拼凑字符串

string tmp = "select * from ...";
tmp += " where ...";
tmp += " and ....";
//.....
经常见到有人像上面这样来使用字符串,这是绝对不应该的,C/S还问题不大,B/S就不行,每人多占一些内存,并发用户一多代价其实很大!

解决的方法就是stringBuilder
StringBuilder tmp = new StringBuilder();
tmp.Append("select * from ...");
tmp.Append(".....");
//.....

posted on 2006-05-31 17:28  张波  阅读(290)  评论(0编辑  收藏  举报