C#中StringBuilder类的使用总结
String对象是不可改变的。每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用StringBuilder类可以提升性能。
通过用一个重载的构造函数方法初始化变量,可以创建StringBuilder类的新实例,正如以下示例中所阐释的那样。
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!");
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!",25);
另外,可以使用读/写Capacity属性来设置对象的最大长度。以下代码示例使用Capacity属性来定义对象的最大长度。
MyStringBuilder.Capacity=25;
(1)Append
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!");
MyStringBuilder.Append("Whatabeautifulday.");
Console.WriteLine(MyStringBuilder);
此示例将HelloWorld!Whatabeautifulday.显示到控制台。
(2)AppendFormat方法将文本添加到StringBuilder的结尾处,而且实现了IFormattable接口,因此可接受格式化部分中描述的标准格式字符串。可以使用此方法来自定义变量的格式并将这些值追加到StringBuilder的后面。以下示例使用AppendFormat方法将一个设置为货币值格式的整数值放置到StringBuilder的结尾。
intMyInt=25;
StringBuilderMyStringBuilder=newStringBuilder("Yourtotalis");
MyStringBuilder.AppendFormat("{0:C}",MyInt);
Console.WriteLine(MyStringBuilder);
此示例将Yourtotalis$25.00显示到控制台。
(3)Insert方法将字符串或对象添加到当前StringBuilder中的指定位置。以下示例使用此方法将一个单词插入到StringBuilder的第六个位置。
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!");
MyStringBuilder.Insert(6,"Beautiful");
Console.WriteLine(MyStringBuilder);
此示例将HelloBeautifulWorld!显示到控制台。
(4)可以使用Remove方法从当前StringBuilder中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。以下示例使用Remove方法缩短StringBuilder。
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!");
MyStringBuilder.Remove(5,7);
Console.WriteLine(MyStringBuilder);
此示例将Hello显示到控制台。
(5)使用Replace方法,可以用另一个指定的字符来替换StringBuilder对象内的字符。以下示例使用Replace方法来搜索StringBuilder对象,查找所有的感叹号字符(!),并用问号字符(?)来替换它们。
StringBuilderMyStringBuilder=newStringBuilder("HelloWorld!");
MyStringBuilder.Replace("!","?");
Console.WriteLine(MyStringBuilder);
此示例将HelloWorld?显示到控制台
相关文章
- 聊聊 C#中的 Mixin
- 浅谈C#数组(一)
- C#使用OpenCV进行答题卡识别
- c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法
- 【愚公系列】2023年02月 .NET/C#知识点-List转成字符串的总结
- 【Unity3D】Android Studio 工程中使用 Java 代码调用 Unity 的 C# 脚本 ( Java 中调用 UnityPlayer#UnitySendMessage 方法 )
- 编写高质量代码改善C#程序——使用泛型集合代替非泛型集合(建议20)
- c#实现ping详解编程语言
- C编写一键备份Oracle数据库(c# 备份oracle)
- C#的四个基本技巧
- C#OWC生成图表
- C#切换鼠标左右键习惯无需控制面板中修改
- C#生成随机字符串的实例
- c#对cookies(增、删、改、查)的操作方法
- C#词法分析器之正则表达式的使用
- 浅析C#基础语法的使用
- 解析C#中@符号的几种使用方法详解
- C#中遍历各类数据集合的方法总结
- C#使用非托管代码直接修改字符串的方法
- c#字符串编码编码(encoding)使用方法示例
- c#split分隔字符串使用方法
- C#判断数据类型的简单示例代码
- C#中TransactionScope的使用小结
- C#标识符的使用小结
- c#使用filesystemwatcher实时监控文件目录的添加和删除
- c#字符串使用正则表达式示例
- JavaScript利用构造函数和原型的方式模拟C#类的功能
- C#使用SqlBulkCopy批量复制数据到数据表
- C#基于数据库存储过程的AJAX分页实例
- C#中this指针的用法示例
- C#窗体间通讯的几种常用处理方法总结
- java和c#使用hessian通信的方法