StringBuilder使用方法

StringBuilder使用方法图 4 2StringBuild 类 StringBuilde 类位于命名空间 System Text 中 在使用它时 可以在文件头通过 using 语句引入该空间 usingSystem Text 声明 StringBuilde 对象需要使用 new 关键字 并可以对其进行初始化 如下语句声明了一个 StringBuilde 对象 myStringBuil 并初始化为 Hello S

图4.2 StringBuilder类

StringBuilder类位于命名空间System.Text中,在使用它时,可以在文件头通过using语句引入该空间:

using System.Text;

声明StringBuilder对象需要使用new关键字,并可以对其进行初始化。如下语句声明了一个StringBuilder对象myStringBuilder,并初始化为“Hello”:

StringBuilder myStringBuilder=new StringBuilder(“Hello”);

如果不使用using关键字在文件头引入System.Text命名空间,也可以通过空间限定来声明StringBuilder对象:

System.Text.StringBuilder myStringBuilder=new StringBuilder(“Hello”);

在声明时,也可以不给初始值,然后通过其方法进行赋值。

StringBuilder使用方法 4.2.1 比较String

通过上面的介绍,可以看出StringBuilder与String在许多操作上(如Insert、Remove、Replace)是非常相似的,两者的区别在于:

(1)String为静态串,一旦定义一个String对象,它是不可改变的。在使用其方法(如插入、删除操作)时,都要在内存中创建一个新的String对象,而不是在原对象的基础上进行修改,这就需要开辟新的内存空间。

(2)与String类相比,System.Text.StringBuilder类可以实现动态字符串。此处,动态的含义是指在修改字符串时,系统不需要创建新的对象,不会重复开辟新的内存空间,而是直接在原StringBuilder对象的基础上进行修改。

(3)在操作性能和内存效率方面,StringBuilder要比String好得多,可以避免产生太多的临时字符串对象,特别是对于经常重复进行修改的情况更是如此。而另一方面,String类提供了更多的方法,可以使开发者更快地实现应用。

在两者的选择上,如果应用对于系统性能、内存要求比较严格,以及经常处理大规模的字符串,推荐使用StringBuilder对象;否则,可以选择使用String。

StringBuilder使用方法 4.2.2 设置容量

StringBuilder对象为动态字符串,可以对其设置好的字符数量进行扩充。另外,还可以设置一个最大长度,这个最大长度称为该StringBuilder对象的容量(Capacity)。

为StringBuilder设置容量的意义在于,当修改StringBuilder字符串时,当其实际字符长度(即字符串已有的字符数量)未达到其容量之前,StringBuilder不会重新分配空间;当达到容量时,StringBuilder会在原空间的基础之上,自动分配新的空间,并且容量翻倍。如果不进行设置,StringBuilder默认初始分配16个字符长度,

有两种方式来设置一个StringBuilder对象的容量。

1.使用构造函数

StringBuilder构造函数可以接受容量参数,例如,下面语句声明一个StringBuilder对象sb2,并设置其容量为100。

//使用构造函数设置容量

StringBuilder sb2=new StringBuilder(“Hello”,100);

2.使用Capacity读/写属性

Capacity属性指定StringBuilder对象的容量,例如下面语句首先声明一个StringBuilder对象sb3,然后利用Capacity属性设置其容量为100。

//使用Capacity属性设置容量

StringBuilder sb3=new StringBuilder(“Hello”);

sb3.Capacity=100;

StringBuilder使用方法 4.2.3 追加字符串

追加一个StringBuilder是指将新的字符串添加到当前StringBuilder字符串的结尾处,可以使用Append和AppendFormat来实现这个功能。

1.Append方法

Append方法实现简单的追加功能,其常用形式为:

Ø public StringBuilder Append(object value);

其中,参数value既可以是字符串类型,也可以是其他的数据类型,如bool、byte、int等。下例中,把一个StringBuilder字符串“Hello”追加为“Hello World!”。

代码4-23 使用Append追加字符串:Default.aspx.cs

1.      //Append

2.      StringBuilder sb4=new StringBuilder(“Hello”);

3.      sb4.Append(” World!”);         //”Hello World!”

2.AppendFormat方法

AppendFoamat可以实现对追加部分字符串的格式化,可以定义变量的格式,并将格式化后的字符串追加在StringBuilder后面。其常用形式为:

Ø StringBuilder AppendFormat(string format, params object[] args);

其中,args数组指定所要追加的多个变量。format参数包含格式规范的字符串,其中包括一系列用大括号括起来的格式字符,如{0:u}。这里,0代表其对应args参数数组中的第0个变量,而“u”定义其格式。下例中,把一个StringBuilder字符串“Today is”追加为“Today is /*当前日期*/”。

代码4-24 使用AppendFormat追加特定格式的字符串:Default.aspx.cs

1.      //AppendFormat

2.      StringBuilder sb5=new StringBuilder(“Today is “);

3.           sb5.AppendFormat(“{0:yyyy-MM-dd}”,System.DateTime.Now); //形如:”Today is 2006-05-20″

StringBuilder使用方法 4.2.4 插入字符串

StringBuilder的插入操作是指将新的字符串插入到当前StringBuilder字符串的指定位置,如“Hello”变为“Heeeello”,就需要使用插入操作。可以使用StringBuilder类的Insert方法来实现这个功能,其常用形式为:

Ø public StringBuilder Insert(int index,object value);

其中,参数index指定所要插入的位置,并从0开始索引,如index=1,则会在原字符串的第2个字符之前进行插入操作;同Append一样,参数value并不仅可取字符串类型。下例中,把一个StringBuilder字符串“Hello”通过插入操作修改为“Heeeello”。

代码4-25 使用Insert插入字符串:Default.aspx.cs

1.      //Insert

2.      StringBuilder sb6=new StringBuilder(“Hello”);

3.      sb6.Insert(2,”eee”);                         //在”He”后面插入,变为” Heeeello!”

StringBuilder使用方法 4.2.5 删除字符串

StringBuilder的删除操作可以从当前StringBuilder字符串的指定位置,删除一定数量的字符。例如,把“Heeeello”变为“Hello”,就需要使用删除操作。可以使用StringBuilder类的Remove方法来实现这个功能,其常用形式为:

Ø public StringBuilder Remove( int startIndex, int length);

其中,参数startIndex指定所要删除的起始位置,其含义同Insert中的index相同;length参数指定所要删除的字符数量。下例中,把一个StringBuilder字符串“Heeeello”通过删除操作修改为“Hello”。

代码4-26 使用Remove删除字符串:Default.aspx.cs

1.      //Remove

2.      StringBuilder sb7=new StringBuilder(“Heeeello”);

3.      Sb3.Remove(2,3);                           //在”He”后面删除3个字符,变为”Hello!”

StringBuilder使用方法 4.2.6 替换字符串

StringBuilder使用Replace方法来实现替换操作,如想把“Hello”变为“Hero”,就需要使用替换操作,将“ll”替换为“r”。这同String类的Replace方法非常类似,其常用形式包括:

Ø public StringBuilder Replace(char oldChar, char newChar);

Ø public StringBuilder Replace(string oldValue, string oldValue,);

其中,参数oldChar和oldValue为待替换的字符和子串,而newChar和newValue为替换后的新的字符和新的子串。下例把“Hello”通过替换变为“Hero”。

代码4-27 使用Replace替换字符串:Default.aspx.cs

1.      //Replace

2.      StringBuilder sb8=new StringBuilder(“Hello”);

3.      sb8=sb8.Replace(“ll”,”r”);                         //Hero

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/176272.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午10:19
下一篇 2026年3月26日 下午10:20


相关推荐

  • eclipse注释快捷键失效问题

    eclipse注释快捷键失效问题先试一下是不是用错斜线了,不要用小键盘里的/,要用主键盘里的/,就是键盘上和问号在一起的那个斜shu线。因为Ctrl+小键盘里的/,对应的是另一个快捷方式。如果依然没用再去Window–>Preferences–>General–>keys中输入togglecomment查找注释快捷键,看一下对应的快捷键然后使用。如果觉得它定义的用着不爽,可以在Binding中自定义快捷方式。(个人建议:能不修改默认快捷方式就不要修改!!!)…

    2022年5月10日
    53
  • pycharm调试如何返回上一步_庞大的DCS系统是如何一步一步调试成功的?

    pycharm调试如何返回上一步_庞大的DCS系统是如何一步一步调试成功的?一键获取技术资料 现代煤化工政策汇编及解读 2020 版 煤制烯烃产业研究报告 2020 版 煤制油产业研究报告 2020 版 煤制天然气产业研究报告 2020 版 煤制乙二醇产业研究报告 2020 版 煤制乙醇产业研究报告 2020 版 煤制芳烃产业研究报告 2020 版 中国煤化工战略规划报告 山西篇 内蒙古篇 陕西篇 咨询微信 加时请注明报告 点蓝色的字

    2026年3月26日
    2
  • 网页实现黑客帝国代码雨

    网页实现黑客帝国代码雨网页实现黑客帝国代码雨 DOCTYPE tml html head metacharset UTF 8 title 黑客帝国代码雨 title styletype text css basicreset margin 0 padding 0 bod styletype text head html

    2026年3月19日
    3
  • vue 修饰符

    vue 修饰符防止执行预设的行为 如果事件可取消 则取消该事件 而不停止事件的进一步传播 只会触发自己范围内的事件 不包含子元素 事件目标对象是自己 才会触发 vue 中 number 修饰符的作用是将输入框内的字符串转换成数字 vue 中 trim 修饰符的作用是将输入框内中前后的空格去掉 在 change 而非 input 时更新 与事件冒泡的方向相反 等同于 js 中的

    2026年3月18日
    2
  • Windows下载Android SDK[通俗易懂]

    Windows下载Android SDK[通俗易懂]压缩包的下载链接下载。。。下载完成后解压,现假设目录为D盘下Android_SDK文件夹中打开SDKManager.exe这里面出现的内容没必要全部下载,我们只需要下载一些必用的,然后随着需

    2022年7月1日
    28
  • Midjourney怎么用?使用教程在这里!

    Midjourney怎么用?使用教程在这里!

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号