stringBuilder - 解决拼接字符串产生的滞留性

/*
 * 学习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 ();
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值