您的位置:新葡亰496net > 奥门新萄京娱乐场 > 新葡亰496net动用 StringBuilder

新葡亰496net动用 StringBuilder

发布时间:2019-10-20 23:34编辑:奥门新萄京娱乐场浏览(183)

    哈哈哈,请别讲作者是偷取,笔者只是借鉴一下。。

        前日面试,被问到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!");

    新葡亰496net,(二)上边列出了此类的几个常用艺术:

    新葡亰496net动用 StringBuilder。设置容积和长度
    就算 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!");
    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? 显示到调整台。

    本文由新葡亰496net发布于奥门新萄京娱乐场,转载请注明出处:新葡亰496net动用 StringBuilder

    关键词:

上一篇:新葡亰496net:装箱和拆箱,学习笔记

下一篇:没有了