使用 StringBuilder 重复字符串
Repeating a string using StringBuilder
我想重复 .-
40 次并使用 StringBuilder
将其保存到 string
为什么这不起作用?
string result = new StringBuilder("").Append(".-",0,40).ToString();
我知道 other 解决方案,但我想使用 StringBuilder
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 40; i++)
{
sb.Append(".-");
}
MessageBox.Show(sb.ToString());
该方法与您认为的不同。 2 个 int 参数指定要追加的子字符串的起始索引和长度。
StringBuilder
确实有一个方法可以满足您的需求:它叫做 Insert
:
sb.Insert(0, ".-", 40);
如果您想多次重复一个字符串,您的选择是:
1- 使用循环(正如@Balagurunathan 的回答所指出的)
2- 对于单个字符,您可以使用:
string result = new string('a', 10); //aaaaaaaaaa
对于多于一个字符的字符串:
string result = string.Join("", Enumerable.Repeat(".-", 5)) //.-.-.-.-.-
所以我相信你试图做的是沿着这些思路:
string result = new StringBuilder().Append(string.Join("", Enumerable.Repeat(".-", 40))).ToString();
然而,就性能而言,我会坚持使用 for 循环
我想重复 .-
40 次并使用 StringBuilder
string
为什么这不起作用?
string result = new StringBuilder("").Append(".-",0,40).ToString();
我知道 other 解决方案,但我想使用 StringBuilder
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 40; i++)
{
sb.Append(".-");
}
MessageBox.Show(sb.ToString());
该方法与您认为的不同。 2 个 int 参数指定要追加的子字符串的起始索引和长度。
StringBuilder
确实有一个方法可以满足您的需求:它叫做 Insert
:
sb.Insert(0, ".-", 40);
如果您想多次重复一个字符串,您的选择是:
1- 使用循环(正如@Balagurunathan 的回答所指出的)
2- 对于单个字符,您可以使用:
string result = new string('a', 10); //aaaaaaaaaa
对于多于一个字符的字符串:
string result = string.Join("", Enumerable.Repeat(".-", 5)) //.-.-.-.-.-
所以我相信你试图做的是沿着这些思路:
string result = new StringBuilder().Append(string.Join("", Enumerable.Repeat(".-", 40))).ToString();
然而,就性能而言,我会坚持使用 for 循环