快捷搜索:
来自 计算机编程 2019-10-31 17:48 的文章
当前位置: 67677新澳门手机版 > 计算机编程 > 正文

应用 StringBuilder

嘿嘿,请别说笔者是偷取,我只是借鉴一下。。

String 对象是不可退换的。每便使用 System.String 类中的方法之有时,都要在内部存款和储蓄器中创立三个新的字符串 对象,那就必要为该新对象分配新的半空中。在要求对字符串施行重复改正的意况下,与成立新的 String 对象相关的系统开辟恐怕会相当的高昂。假诺要纠正字符串而不创制新的对象,则能够利用 System.Text.StringBuilder 类。举例,当在三个巡回大校多数字符串连接在联合签名时,使用 StringBuilder 类能够进步品质。

经过用八个重载的构造函数方法早先化变量,能够创设 StringBuilder 类的新实例,正如以下示例中所阐释的那样。

[C#]
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

安装体量和尺寸
就算 StringBuilder 对象是动态目的,允许增添它所封装的字符串中字符的多寡,不过你可以为它可容纳的最大字符数钦赐贰个值。此值称为该指标的体量,不应将它与当前 StringBuilder 对象容纳的字符串长度混淆在一同。举例,能够创制 StringBuilder 类的含有字符串“Hello”(长度为 5)的二个新实例,同临时间可以钦赐该指标的最大体量为 25。当修改 StringBuilder 时,在达成容积早前,它不会为其本身重新分配空间。当达到容积时,将活动分配新的长空且体积翻倍。能够应用重载的构造函数之一来钦点StringBuilder 类的体量。以下代码示例钦点能够将 MyStringBuilder 对象扩展到最大 25 个空白。

[C#]
StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25);

除此以外,能够利用读/写 Capacity 属性来设置对象的最大尺寸。以下代码示例使用 Capacity 属性来定义对象的最大尺寸。

[C#]
MyStringBuilder.Capacity = 25;

EnsureCapacity 方法可用来检查当前 StringBuilder 的体量。若是容积当先传递的值,则不开展任何改造;可是,借使体量小于传递的值,则会退换当前的体积以使其与传递的值卓殊。

也能够查阅或安装 Length 属性。若是将 Length 属性设置为大于 Capacity 属性的值,则自动将 Capacity 属性改正为与 Length 属性相同的值。要是将 Length 属性设置为小于当前 StringBuilder 对象内的字符串长度的值,则会浓缩该字符串。

修改 StringBuilder 字符串
下表列出了可以用来修正 StringBuilder 的原委的办法。

方法名 使用
StringBuilder.Append 将音讯追加到眼下 StringBuilder 的终极。
StringBuilder.AppendFormat 用带格式文本替换字符串中传送的格式表达符。
StringBuilder.Insert 将字符串或对象插入到日前 StringBuilder 对象的钦点索引处。
StringBuilder.Remove 从当下 StringBuilder 对象中移除内定数量的字符。
StringBuilder.Replace 替换内定索引处的钦赐字符。

Append
Append 方法可用来将文件或对象的字符串表示格局丰硕到由这段日子 StringBuilder 对象表示的字符串的结尾处。以下示例将一个 StringBuilder 对象起头化为“Hello World”,然后将风流浪漫部分文本追加到该指标的结尾处。将依据须求活动分配空间。

[C#]
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Append(" What a beautiful day.");
Console.WriteLine(MyStringBuilder);

此示例将 Hello World! What a beautiful day. 呈现到调整台。

AppendFormat
AppendFormat 方法将文件增加到 StringBuilder 的结尾处,何况贯彻了 IFormattable 接口,因而可选择格式化部分中陈说的专门的学问格式字符串。能够应用此办法来自定义变量的格式并将那个值增加到StringBuilder 的背后。以下示例使用 AppendFormat 方法将一个装置为货币值格式的整数值放置到 StringBuilder 的最终。

[C#]
int MyInt = 25;
StringBuilder MyStringBuilder = new StringBuilder("Your total is ");
MyStringBuilder.AppendFormat("{0:C} ", MyInt);
Console.WriteLine(MyStringBuilder);

此示例将 Your total is $25.00 突显到调控台。

Insert
Insert 方法将字符串或对象加多到当前 StringBuilder 中的内定地点。以下示例使用此方法将三个单词插入到 StringBuilder 的第两个地方。

[C#]
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Insert(6,"Beautiful ");
Console.WriteLine(MyStringBuilder);

此示例将 Hello Beautiful World! 突显到调控台。

Remove
能够行使 Remove 方法从日前 StringBuilder 中移除钦命数量的字符,移除进度从内定的从零初始的索引处开端。以下示例使用 Remove 方法收缩 StringBuilder。

[C#]
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Remove(5,7);
Console.WriteLine(MyStringBuilder);

此示例将 Hello 彰显到调控台。

Replace
行使 Replace 方法,可以用另贰个点名的字符来替换 StringBuilder 对象内的字符。以下示例使用 Replace 方法来找出 StringBuilder 对象,查找全部的慨叹号字符 (!),并用问号字符 (?) 来替换它们。

[C#]
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Replace('!', '?');
Console.WriteLine(MyStringBuilder);

此示例将 Hello World? 显示到调节台。

本文由67677新澳门手机版发布于计算机编程,转载请注明出处:应用 StringBuilder

关键词: