C#中的StringBuilder用法详细指南

  • StringBuilder的声明和初始化
  • 定义StringBuilder的容量
  • StringBuilder.Append(字符串值)方法
  • StringBuilder.AppendFormat()
  • StringBuilder.Insert(int index, string value)方法
  • StringBuilder.Remove(int start, int length)方法
  • StringBuilder.Replace(old_val, new_val)方法
目录C#的StringBuilder类似于Java StringBuilder。一种String对象是不可变的, 即字符串一旦创建就不能更改。每次你使用任何一种System.String类, 然后创建一个新的字符串对象在记忆中。例如, 字符串" lsbin"现在通过更改初始字符串"极客" 至 "玻璃纤维"将在内存堆上创建一个新的字符串对象, 而不是在同一内存位置修改初始字符串。在需要对字符串进行重复修改的情况下, 我们需要StringBuilder类。为了避免字符串替换, 在初始字符串C#中添加, 删除或插入新字符串StringBuilder概念。 StringBuilder是一个动态物体。它不会在内存中创建新对象, 而是动态扩展所需的内存以容纳修改后的字符串或新字符串。
C#中的StringBuilder用法详细指南

文章图片
StringBuilder的声明和初始化 可以使用与类相同的方式声明和初始化StringBuilder,
StringBuilder s = new StringBuilder(); orStringBuilder s = new StringBuilder("lsbin");

" s"是的对象StringBuilder类。另外, 我们可以将字符串值(此处为" lsbin")作为参数传递给StringBuilder的构造函数。
定义StringBuilder的容量 虽然StringBuilder是一个动态对象, 它允许你扩展它封装的字符串中的字符数, 你可以为它可以容纳的最大字符数指定一个值。此值称为容量StringBuilder目的。
StringBuilder s = new StringBuilder(20); orStringBuilder s = new StringBuilder("lsbin", 20);

这里,
  • 在第一条语句中, 我们将整数值作为参数传递给构造函数。这是可以容纳字符串的最大字符容量。
  • 在第二条语句中, 我们将带有整数值(即字符串可以容纳的最大字符容量)的字符串值作为构造函数的参数。
.
StringBuilder类的重要方法:
  • 追加(字符串值)
  • AppendFormat()
  • 插入(int索引, 字符串值)
  • 删除(int开头, int长度)
  • 替换(旧值, 新值| _val)
StringBuilder.Append(字符串值)方法 的附加方法可用于添加或附加对象的字符串值, 直到当前表示的字符串的末尾StringBuilder目的。AppendLine()方法也属于这种方法。此方法在字符串末尾添加换行符。
例子:
// C# program to demonstrate the // StringBuilder.Append(value) and // StringBuilder.AppendLine(value) method using System; using System.Text; class GFG {// Main Method public static void Main() {// "20" is capacity StringBuilder s = new StringBuilder( "HELLO " , 20); s.Append( "GFG" ); // after printing "GEEKS" // a new line append s.AppendLine( "GEEKS" ); s.Append( "lsbin" ); Console.WriteLine(s); } }

输出如下:
HELLO GFGGEEKS lsbin

StringBuilder.AppendFormat() 此方法用于将输入字符串格式化为指定的格式, 然后附加它。此方法还将文本附加到StringBuilder对象的末尾。
// C# program to demonstrate the // StringBuilder.AppendFormat() method using System; using System.Text; class GFG {// Main Method public static void Main() { StringBuilder s = new StringBuilder( "Your total amount is " ); // using the method s.AppendFormat( "{0:C} " , 50); Console.WriteLine(s); } }

【C#中的StringBuilder用法详细指南】输出如下:
Your total amount is ?¤50.00

StringBuilder.Insert(int index, string value)方法 此方法将字符串插入指定的索引中StringBuilder目的。
例子:
// C# program to demonstrate the // StringBuilder.Insert(int index, // string value) method using System; using System.Text; class GFG {// Main Method public static void Main() {// "20" is capacity StringBuilder s = new StringBuilder( "HELLO " , 20); // "GEEKS" insert after 6th index s.Insert(6, "GEEKS" ); Console.WriteLine(s); } }

输出如下:
HELLO GEEKS

StringBuilder.Remove(int start, int length)方法 此方法从当前StringBuilder对象中删除指定数量的字符。删除过程从指定的索引开始, 一直扩展到另一个指定的索引。
例子:
// C# program to demonstrate the // StringBuilder.Remove(int index, // int length) method using System; using System.Text; class GFG {// Main Method public static void Main() {// "20" is capacity StringBuilder s = new StringBuilder( "lsbin" , 20); // remove starts from index 5 // and remove happes 3 index // after index 5 s.Remove(5, 3); Console.WriteLine(s); } }

输出如下:
GeeksGeeks

StringBuilder.Replace(old_val, new_val)方法 此方法用于替换StringBuilder具有另一个指定字符的对象。
例子:
// C# program to demonstrate the // StringBuilder.Replace(string old_val, // string new_val) method using System; using System.Text; class GFG {// Main Method public static void Main() {// "20" is capacity StringBuilder s = new StringBuilder( "GFG Geeks " , 20); // Replace "GFG" with "Geeks For" s.Replace( "GFG" , "Geeks For" ); Console.WriteLine(s); } }

输出如下:
Geeks For Geeks

    推荐阅读