当有两个或多个字符串要连接时你会选择边种方法呢?
"石家庄"同"飞讯"是两个字符串.
一般情况下,可以用"+"号将它们连起来,这最简单直接的做法.
例子如下.
string str1="石家庄";
string str2="飞讯";
string R=string.empty;
R=str1+str2;
Console.WriteLIne(R);
结果为:"石家庄飞讯"。
另一个方法:
StringBuilder str=new StringBuilder();
str.Append("石家庄");
str.Append("飞讯");
Console.WriteLine(str);
结果是:"石家庄飞讯".
两种方法相同效率,每一个string,都会重新分配一个内存空间.
当有大两字符串要连接的时候,使用string是明智既做法,而StringBuilder在初始化时都会分配一个指定大细既空间,例如每个空间是50个字符,只要不超出,就不会再重新分配.
string 或者StringBuilder对象串联操作的性能取决于内存分配的发生频率,
string 串联操作每次都分配内存,
而StringBuilder串联操作仅是StringBuilder对象缓冲区太小而无法容纳新数据的时候先分配内存.
所以,如果串联固定数量的字符串string对象的时候用string类更适合串联操作.
系哩种情况下,编译器甚至会将各个串联操作组合系一个操作入面.
如果串联任意数量的字符串,就用StringBuilder对象更适合串联操作,
好似某个循环对用户输入任意数量的字符串进行串联.