StringBuilder详解C#
static void Main(string[] args)
{
//创建一个StringBuilder对象,此对象的容量就可以保存16个字符的字符串。当超过了容量就会变成32,超过了容量就会加16字符
StringBuilder strBuff = new StringBuilder("Dd_gWEB Hello");
Console.WriteLine("Length of strBuff " + strBuff.Length.ToString());//对象长度
Console.WriteLine("Capacity of strBuff "+ strBuff.Capacity.ToString());//当前分配的内存中最大字符数
Console.WriteLine("Maximum capatity of strBuff "+ strBuff.MaxCapacity.ToString());//获取此实例的最大容量
int n = 2;
Console.WriteLine(strBuff.EnsureCapacity(n).ToString());//确保StringBuilder实例的最小容量,n小于strBuff的容量这返回16的倍数满足最小数;如果大于就显示n
//获取strBuff中的元素
if (strBuff[0] != 'd')
strBuff[0] = 'd';
//strBuff转成String是ToString()
Console.WriteLine(strBuff.ToString());
//添加
strBuff.Append("hh");
Console.WriteLine(strBuff.ToString());
//格式
strBuff.AppendFormat("you {0000}", 12);
Console.WriteLine(strBuff);
//插入
strBuff.Insert(2, "dddd");
Console.WriteLine(strBuff.ToString());
strBuff.Insert(2, "s", 6);//6是插入的次数
//移除
strBuff.Remove(3, 7);//起始位置,长度
Console.WriteLine(strBuff.ToString());
//替换
strBuff.Replace("d", "D");
//在小数量字符时
//string 的+和StringBuilder的Append效率没什么很大区别但是
//数量大时,StringBuilder效率和显著提升
Console.ReadKey();
}
static void Main(string[] args)
{
//创建一个StringBuilder对象,此对象的容量就可以保存16个字符的字符串。当超过了容量就会变成32,超过了容量就会加16字符
StringBuilder strBuff = new StringBuilder("Dd_gWEB Hello");
Console.WriteLine("Length of strBuff " + strBuff.Length.ToString());//对象长度
Console.WriteLine("Capacity of strBuff "+ strBuff.Capacity.ToString());//当前分配的内存中最大字符数
Console.WriteLine("Maximum capatity of strBuff "+ strBuff.MaxCapacity.ToString());//获取此实例的最大容量
int n = 2;
Console.WriteLine(strBuff.EnsureCapacity(n).ToString());//确保StringBuilder实例的最小容量,n小于strBuff的容量这返回16的倍数满足最小数;如果大于就显示n
//获取strBuff中的元素
if (strBuff[0] != 'd')
strBuff[0] = 'd';
//strBuff转成String是ToString()
Console.WriteLine(strBuff.ToString());
//添加
strBuff.Append("hh");
Console.WriteLine(strBuff.ToString());
//格式
strBuff.AppendFormat("you {0000}", 12);
Console.WriteLine(strBuff);
//插入
strBuff.Insert(2, "dddd");
Console.WriteLine(strBuff.ToString());
strBuff.Insert(2, "s", 6);//6是插入的次数
//移除
strBuff.Remove(3, 7);//起始位置,长度
Console.WriteLine(strBuff.ToString());
//替换
strBuff.Replace("d", "D");
//在小数量字符时
//string 的+和StringBuilder的Append效率没什么很大区别但是
//数量大时,StringBuilder效率和显著提升
Console.ReadKey();
}