string 与 stringBuilder

来源:互联网 发布:安卓运行linux 编辑:程序博客网 时间:2024/05/17 23:23
    早先只是听说string没有stringBuilder性能高,但却一直不知道原因,今天在看《.NET与设计模式》时,设计模式没怎么懂却意外收获了原因。
    先看使用string的情况:
    string s = "";   //生成一个对象
    s = s + "a";     //又生成一个对象
    s = s + "b";     //生成第三个对象
    。。。。。。      //每次会生成一个新的对象
    再来瞧一瞧stringBuilder:
    stringBuilder sb = new stringBuilder();
    sb.Append("a");
    sb.Append("b");  //在原来对象上增加,没有新建对象
    string s = sb.ToString();   //获取字符串
    看来两者的性能主要是在对象的新建上,但到底会有多大的性能差别呢?望大家指点……
原创粉丝点击