澳门新萄京官方网站-www.8455.com-澳门新萄京赌场网址

澳门新萄京官方网站:采取 StringBuilder

2019-11-10 作者:www.8455.com   |   浏览(169)

嘿嘿,请不要讲笔者是盗取,小编只是借鉴一下。。

    今天面试,被问到String和StringBuild的界别,作者不知晓StringBuild是哪些,很害羞。回来未来就留神的查看了相关文档,如下:

String 对象是不行退换的。每便使用 System.String 类中的方法之一时,都要在内部存款和储蓄器中制造二个新的字符串 对象,那就须求为该新对象分配新的长空。在急需对字符串执行重复改良的境况下,与创制新的 String 对象相关的类别开垦大概会卓殊昂贵。假使要校正字符串而不创立新的靶子,则足以选取System.Text.StringBuilder 类。举个例子,当在贰个循环中校大多字符串连接在联合签字时,使用 StringBuilder 类能够晋级品质。

String 对象是不足改良的。每一遍使用 System.String 类中的方法之临时,都要在内部存款和储蓄器中开创五个新的字符串对象,那就须要为该新对象分配新的半空中。在供给对字符串实施重复改良的情形下,与创设新的 String 对象相关的种类开拓或然会特别昂贵。

透过用叁个重载的构造函数方法初叶化变量,能够创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。

假如要改革字符串而不创建新的靶子,则足以选择 System.Text.StringBuilder 类。举例,当在三个周而复始军长多数字符串连接在联适那个时候候,使用 StringBuilder 类能够晋级品质。StringBuilder 运营速度听新闻说是string 200倍。   通过用三个重载的构造函数方法开始化变量,能够创制 StringBuilder 类的新实例,正如以下示例中所阐释的那么。 StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); StringBuilder 对象设置体积和长度   StringBuilder 对象是动态目的,允许扩充它所封装的字符串中字符的数额,可认为它可容纳的最大字符数内定多少个值。 StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25); 其余,能够运用读/写 Capacity 属性来安装对象的最大尺寸。以下代码示例使用 Capacity 属性来定义对象的最大尺寸。 MyStringBuilder.Capacity = 25;

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

(二)上边列出了此类的多少个常用艺术:

安装体量和长度
即便 StringBuilder 对象是动态目的,允许增添它所封装的字符串中字符的数目,不过你可认为它可容纳的最大字符数钦命二个值。此值称为该对象的体积,不应将它与当下 StringBuilder 对象容纳的字符串长度混淆在协作。比方,能够创制 StringBuilder 类的包括字符串“Hello”(长度为 5卡塔尔国的二个新实例,同一时间可以钦定该目的的最大体积为 25。当改良 StringBuilder 时,在直达容积早前,它不会为其和谐重新分配空间。当达到体量时,将电动分配新的空间且容积翻倍。能够采取重载的构造函数之一来指定StringBuilder 类的体量。以下代码示例钦赐能够将 MyStringBuilder 对象扩展到最大 25 个空白。

(1)Append 方法可用来将文件或对象的字符串表示方式丰富到由近来StringBuilder 对象表示的字符串的结尾处。以下示例将三个 StringBuilder 对象开头化为“Hello World”,然后将部分文件追加到该目的的结尾处。将依靠须要活动分配空间。 StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); MyStringBuilder.Append(" What a beautiful day."); Console.WriteLine(MyStringBuilder); 此示例将 Hello World! What a beautiful day. 显示到调整台。

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

(2)AppendFormat 方法将文件增多到 StringBuilder 的结尾处,何况贯彻了 IFormattable 接口,因而可采纳格式化部分中描述的正经格式字符串。能够运用此方法来自定义变量的格式并将那些值增到StringBuilder 的前面。以下示例使用 AppendFormat 方法将八个安装为货币值格式的整数值放置到 StringBuilder 的末段。 int MyInt = 25; StringBuilder MyStringBuilder = new StringBuilder("Your total is "); MyStringBuilder.AppendFormat("{0:C} ", MyInt); Console.WriteLine(MyStringBuilder); 此示例将 Your total is $25.00 展现到调控台。

此外,能够选取读/写 Capacity 属性来安装对象的最大尺寸。以下代码示例使用 Capacity 属性来定义对象的最大尺寸。

(3)Insert 方法将字符串或对象增加到当前 StringBuilder 中的钦定地点。以下示例使用此方法将三个单词插入到 StringBuilder 的第两个地方。 StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); MyStringBuilder.Insert(6,"Beautiful "); Console.WriteLine(MyStringBuilder); 此示例将 Hello Beautiful World! 突显到调节台。

[C#]
MyStringBuilder.Capacity = 25;

(4)能够运用 Remove 方法从近期 StringBuilder 中移除钦命数量的字符,移除过程从钦点的从零此前的索引处开首。以下示例使用 Remove 方法缩小 StringBuilder。 StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); MyStringBuilder.Remove(5,7); Console.WriteLine(MyStringBuilder); 此示例将 Hello 彰显到调节台。

EnsureCapacity 方法可用来检查当前 StringBuilder 的体量。要是容积超越传递的值,则不进行任何变动;不过,倘若容积小于传递的值,则会更换当前的体量以使其与传递的值非凡。

(5)使用 Replace 方法,能够用另一个点名的字符来替换 StringBuilder 对象内的字符。以下示例使用 Replace 方法来寻觅 StringBuilder 对象,查找全体的慨叹号字符 (!),并用问号字符 (?) 来替换它们。 StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); MyStringBuilder.Replace('!', '?'); Console.WriteLine(MyStringBuilder);

也可以查看或安装 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澳门新萄京官方网站:采取 StringBuilder。!");
MyStringBuilder.Remove(5,7);
澳门新萄京官方网站,Console.WriteLine(MyStringBuilder);

此示例将 Hello 呈现到调整台。

Replace
利用 Replace 方法,能够用另二个钦点的字符来替换 StringBuilder 对象内的字符。以下示例使用 Replace 方法来找出 StringBuilder 对象,查找全体的惊叹号字符 (澳门新萄京官方网站:采取 StringBuilder。!),并用问号字符 (?) 来替换它们。

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

此示例将 Hello World? 展现到调控台。

本文由澳门新萄京官方网站发布于www.8455.com,转载请注明出处:澳门新萄京官方网站:采取 StringBuilder

关键词: