StringBuilder

StringBuilder的构造函数

public StringBuilder();

public StringBuilder(int capacity);

public StringBuilder(string Value);

public StringBuilder(int capacity,int MaxCapacity);

public StringBuilder(string Value,int capacity);

public StringBuilder(string value,int startIndex,int length, int capacity);

capacity:StringBuilder对象的建议初始大小。

Value:字符串,包含用于初始化StringBuilder对象的子字符串。

startIndex value:子字符串开始的位置。

length:子字符串中的字符数。

StringBuilder类中的常用方法

Append                   将文本或字符串追加到指定对象的末尾

AppendFormat           自定义变量的格式并将这些值追加到StringBuilder对象的末尾

Insert                     将字符串或对象添加到当前StringBuilder对象的指定位置。

Remove                 从当前StringBuilder对象中移除指定数量的字符。

Replace                 用另一个指定的字符来替换StringBuilder对象内的字符。

class Program
    {
        static void Main(string[] args)
        {
            int Num = 678;
            StringBuilder SBuilder = new StringBuilder("哈哈哈!",100);
            SBuilder.Append(")嘿嘿黑!!!");
            Console.WriteLine(SBuilder);

            SBuilder.AppendFormat("{0:C}", Num);
            Console.WriteLine(SBuilder);

            SBuilder.Insert(0,"软件: ");
            Console.WriteLine(SBuilder);

            SBuilder.Remove(14,SBuilder.Length-14);
            Console.WriteLine(SBuilder);

            SBuilder.Replace("软件","软件工程师");
            Console.WriteLine(SBuilder);
            Console.ReadLine();
        }
    }

string类与StringBuilder类的区别

string类是不可改变的,每次使用string类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符进串进行重复修改的情况下,与创建新的string对象相关联的系统开销可能会非常昂贵。如果要修改字符串而不是创建新的对象,则可以使用StringBuilder类。例如在一个循环中将许多的字符串连在一起时,使用StringBuilder类可以提升性能。

string a="aa"+"bb";

StringBuilder SBuilder=new StringBuilder();

SBuilder.Append("aa");

SBuilder.Append("bb");

第一种方法在内存中操作时,有三个string变量,而第二种方法在内存中操作时只有一个("aabb")变量。

原文地址:https://www.cnblogs.com/lovezhangyu/p/3370619.html