2013-06-03 483 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