/*
* 学习stringBuilder:目的解决拼接字符串产生的滞留性
* string类有不可改变性,每次执行字符串拼接的时候,实际上都会产生新的字符串对象
* stringBuilder类解决了对字符串重复修改过程中产生大量对象的问题
*/
using System;
using System.Text;
namespace 字符串补充StringBuilder
{
class MainClass
{
public static void Main (string[] args)
{
// 初始化带有capacity来控制容量大小,并且允许我们修改容量的大小
// 如果初始化是默认构造函数初始化的sb对象,那么默认capacity的大小为16
//C#5.0版本capacity成1倍的增长
//C#4.0版本之下的,拼接长度超出容量的时候翻一倍,如果没有超过就是默认容量大小16
// StringBuilder sb = new StringBuilder();
// Console.WriteLine ("没拼接前sb的容量为:{0}",sb.Capacity);
// string a = "你好";
// string b = "中国";
// string c = "妈妈";
//
// sb.Append (a);
// sb.Append (b);
// sb.Append (c);
// sb.Capacity = 63;
// // 结论
// // 容量大小没有超过64,实际容量大小为64
// // 容量>64 就是实际容量大小
// Console.WriteLine ("拼接后sb的实际容量为:{0}",sb.Capacity);
// Console.WriteLine ("拼接后sb的长度为:{0}",sb.Length);
// Console.WriteLine (sb.ToString());
// C#5.0下面这种初始化方式,容量大小取决于初始化字符串的长度
// C#5.0以下跟上面情况相同
// string s = "你好";
// StringBuilder sb = new StringBuilder (s);
// Console.WriteLine (sb.Capacity);
// StringBuilder sb = new StringBuilder ("双击,");
// sb.AppendFormat ("{0}", 666);
// Console.WriteLine (sb.ToString());
// string s = "你好啊;";
// string s2 = "嗯,是的!~";
StringBuilder sb = new StringBuilder ().Clear (s);
// new StringBuilder().
Console.WriteLine ("aa");
Console.ReadKey ();
}
}
}
stringBuilder - 解决拼接字符串产生的滞留性
最新推荐文章于 2022-06-07 09:21:55 发布