服務(wù)熱線
153 8323 9821
當(dāng)有兩個或多個字符串要連接時你會選擇邊種方法呢?
"石家莊"同"飛訊"是兩個字符串.
一般情況下,可以用"+"號將它們連起來,這最簡單直接的做法.
例子如下.
string str1="石家莊";
string str2="飛訊";
string R=string.empty;
R=str1+str2;
Console.WriteLIne(R);
結(jié)果為:"石家莊飛訊"。
另一個方法:
StringBuilder str=new StringBuilder();
str.Append("石家莊");
str.Append("飛訊");
Console.WriteLine(str);
結(jié)果是:"石家莊飛訊".
兩種方法相同效率,每一個string,都會重新分配一個內(nèi)存空間.
當(dāng)有大兩字符串要連接的時候,使用string是明智既做法,而StringBuilder在初始化時都會分配一個指定大細(xì)既空間,例如每個空間是50個字符,只要不超出,就不會再重新分配.
string 或者StringBuilder對象串聯(lián)操作的性能取決于內(nèi)存分配的發(fā)生頻率,
string 串聯(lián)操作每次都分配內(nèi)存,
而StringBuilder串聯(lián)操作僅是StringBuilder對象緩沖區(qū)太小而無法容納新數(shù)據(jù)的時候先分配內(nèi)存.
所以,如果串聯(lián)固定數(shù)量的字符串string對象的時候用string類更適合串聯(lián)操作.
系哩種情況下,編譯器甚至?xí)⒏鱾€串聯(lián)操作組合系一個操作入面.
如果串聯(lián)任意數(shù)量的字符串,就用StringBuilder對象更適合串聯(lián)操作,
好似某個循環(huán)對用戶輸入任意數(shù)量的字符串進(jìn)行串聯(lián).
上一篇:C# 字符串用法集合
下一篇:C#字符串的使用筆記