2013-06-03 109 views
2

有沒有一種快速的方法來在C#中多次追加StringBuilder?當然,我可以編寫自己的擴展來追加循環,但看起來效果不佳。StringBuilder追加相同的字符多次

+0

你可以顯示你已經得到的代碼嗎?你想達到什麼目的?爲什麼它不起作用? Peformance /內存? – derape

+0

因爲它是一個簡單的'for' –

回答

17

There is already an Append overload接受char valueint repeatCount

char c = ... 
int count = ... 
builder.Append(c, count); 

或者更簡單(在許多情況下):

builder.Append(' ', 20); 
+0

我完全失明,謝謝 –

3

您可以使用字符串構造

sb.Append(new String('a', 3)); // equals sb.Append("aaa") 
+0

我不知道StringBuilders追加了Marc所說的重載。這顯然是更好的(: –

1

StringBuilder有一個構造函數lile StringBuilder.Append Method (Char, Int32)

追加 Unicode字符在此實例的字符串表示的副本的指定數量。

喜歡StringBuilder.Append(char value, int repeatCount)

例如;

StringBuilder sb = new StringBuilder(); 
sb.Append('*', 10); 
Console.WriteLine(sb); 

輸出將;

********** 

這是DEMO