zoukankan      html  css  js  c++  java
  • StringBuilder类型的基本用法

    StringBuilder 采用了构造器设计模式的思想高效地构造一个字符串对象,在构造过程中StringBuilder可以有效避免临时字符串对象的生成。

    1:当需要操作很长的字符串,或者要对字符串进行非常频繁的操作时,应该使用StringBuilder,其余场合,用String比较方便。

    2:之所以说平常情况用String比较方便是因为:

    StringBuilder sb="hello world!"; 这样的语句是不行的,要用:

    StringBuilder sb=new StringBuilder("hello world!"); 这样子才能初始化一个StringBuilder对象。

    sb="change the content of StringBuilder"; 这样的语句也是不行的,不能直接把String转换成StringBuilder,显式转换也不成!

    sb.Remove(0, sb.Length);
    sb.Append("Test for string builder change!"); 这样子才能改变一个StringBuilder对象的内容。或者用sb.Replace();方法。

    3:StringBuilder类还有一个这样的特性:它的Length属性是非ReadOnly的,

    假如有: StringBuilder sb=new StringBuilder("12345");

    执行: sb.Length=3;

    再输出sb的内容,就只剩 123 了。如果这个Length设置大于原来的长度,那么后面补空格。

    String 类型没有这个功能,它的Length是read only的!

    “StringBuilder类内部保留了一个私有的String 类型成员,当ToString()这个方法被调用时,这个String 类型成员将会被赋值并且返回给调用者。在字符串组装期间,这个字符串会在内存上被直接修改。StringBuilderod 不仅仅提供了性能上更加优秀的字符串操作,它还能被用来和非托管代码进行交互。对于非托管的代码,字符串的操作是直接基于内存的,如果使用字符串类型和非托管的代码进行,那潜在的违反了字符串对象不可变的原则。所以StringBuilder类常常被用来和非托管代码进行交互。”

    转自

    http://www.cnblogs.com/csharp4/archive/2010/05/24/1742667.html

  • 相关阅读:
    【流水账】2021-06-19 Day-09
    【流水账】2021-06-18 Day-08
    【流水账】2021-06-16 Day-06
    【流水账】2021-06-15 Day-05
    .Net调用Java的实现方法
    优先队列的实例题
    栈的相关程序题
    重载函数
    卡特兰数
    关于全排列的递归
  • 原文地址:https://www.cnblogs.com/streetpasser/p/3081992.html
Copyright © 2011-2022 走看看