zoukankan      html  css  js  c++  java
  • 编写高质量的代码1尽量使用StringBuilder

           对CLR来说,string对象是个比较特殊的对象,它一旦被赋值就不可改变。运行时调用String类中的任何方法或进行任何运算(如”=”赋值、“+”拼接等),都会在内存中创建一个新的字符串对象,这也意味着要为该新对象分配新的内存空间。

    StringBuilder并不会创建一个新的string对象,StringBuilder的默认长度是16,当长度大于16时,则重新分配内存,长度是16的倍数。StringBuilder重新分配内存时是按照上次容量加倍进行分配的。需要注意的是,如果指定的长度太小,需要频繁分配内存,太大了则浪费空间。

    测试代码如下

           private void stringContact()
           {
               string s = "ddd";
               s += "eee";
               s += "fff";
               s += "ggg";
               s += "hhh";
           }
           StringBuilder strb = new StringBuilder();
           private void stringContact2()
           {
               strb.Clear();
               strb.Append("ddd");
               strb.Append("eee");
               strb.Append("fff");
               strb.Append("ggg");
               strb.Append("hhh");
           }

    测试结果

    image

  • 相关阅读:
    Ajax
    事件委托
    事件对象
    js的基础类型与引用类型
    Javascript和HTML dom
    用jQuery写的最简单的表单验证
    初学HTML5的一点理解
    CMake 入门
    centos7上rpm安装wkhtmltopdf
    centos7 下安装思源黑体字体
  • 原文地址:https://www.cnblogs.com/liuyh208/p/2533313.html
Copyright © 2011-2022 走看看