string和stringbuilder

Posted 脑白金

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string和stringbuilder相关的知识,希望对你有一定的参考价值。

1)String是一个引用类型,一旦字符串被创建,就不能修改

  例如:

    String a="AAA";

    String b=a;

  a与b值相同,但不是同一个对象;

  每次使用 System.String 类中的方法时,都要在内存中创建一个新的字符串对象,继而为该新对象分配新的空间。在对字符串修改比较频繁时,系统内存损耗就会变大。

2)StringBuilder是一个可变的字符序列,StringBuilder类型的对象可以修改,它指向char结构数组,使用StringBuilder可以提升性能。

3)StringBuilder常用方法

  1:Append():将文本或对象的字符串表示形式添加到当前StringBuilder对象的字符串结尾处

      StringBuilder sb = new StringBuilder("我要出去购物!");

      sb.Append("今天太阳很好,");

      Console.WriteLine(sb);

  2:AppendFormat():实现了IFormatTable接口,可接受格式化部分描述的标准格式字符串,使用此方法可以自定义变量并把值追加到StringBuilder后边

      int MyInt = 10;

      StringBuilder MyStringBuilder = new StringBuilder("The Money is ");

      MyStringBuilder.AppendFormat("{0:C} ", MyInt);

      Console.WriteLine(MyStringBuilder);

      The Money is $25.00;

  3:Remove():可以使用 Remove 方法从当前 StringBuilder 中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。

      StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

      MyStringBuilder.Remove(5,7);

      Console.WriteLine(MyStringBuilder);

  4:Replace():使用 Replace 方法,可以用另一个指定的字符来替换 StringBuilder 对象内的字符。

      StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

      MyStringBuilder.Replace(‘!‘, ‘?‘);

      Console.WriteLine(MyStringBuilder)

  5:insert():Insert 方法将字符串或对象添加到当前 StringBuilder 中的指定位置。

      StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

      MyStringBuilder.Insert(6,"Beautiful ");

      Console.WriteLine(MyStringBuilder)

 

以上是关于string和stringbuilder的主要内容,如果未能解决你的问题,请参考以下文章

在JS中String 和string啥区别?

C#中string()和ToString()有啥区别?

TypeScript 基础 — string 和 String 的区别

C#中String和string有啥区别?

CString与string的区别

StringBuilder的append方法和String+String的区别