使用 StringBuilder 多次追加相同字符

3
有没有一种快速的方法在C#中多次追加StringBuilder?当然,我可以编写自己的扩展程序来循环追加,但这看起来效率低下。

你能展示一下你已经拥有的代码吗?你想要达到什么目标?为什么它效率不高?是因为性能还是内存问题? - undefined
因为它是一个简单的for - undefined
3个回答

21

5
你可以使用字符串构造函数。
sb.Append(new String('a', 3)); // equals  sb.Append("aaa")

我不知道Marc提到的StringBuilder的append重载。显然这个更好(: - undefined

1

StringBuilder有一个类似于StringBuilder.Append Method (Char, Int32)的构造函数。

将Unicode字符的字符串表示指定数量的副本附加到此实例。

类似于 StringBuilder.Append(char value, int repeatCount)

例如:

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

输出将是:

**********

这里有一个DEMO

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接