使用*运算符多次显示字符串

时间:2011-09-12 20:34:21

标签: c# asp.net c#-4.0

  

可能重复:
  Can I “multiply” a string (in C#)?

是否有一种简单的方法可以使用str * 2

之类的内容多次显示字符串

换句话说,有没有办法:

int numTimes = 500;
String str = "\n";
String body = ""
for (int i = 0; i < numTimes; i++)
{
    body = "Hello" + str;
}

不需要for循环?

3 个答案:

答案 0 :(得分:1)

对此的回答,不仅仅是隐藏循环或其他一些人为的例子,都不是。

答案 1 :(得分:1)

不。没有这样的运营商。

你可以做到

body = "Hello" + String.Join("", Enumerable.Range(0, numTimes).Select(i => str));

但内部仍在循环中。

答案 2 :(得分:0)

是和否。 不,不是开箱即用的。 是的,您可以使用扩展方法轻松完成此操作。 请参阅此处C# String Operator Overloading

中有关字符串扩展方法的主题

它仍然是循环的,所以你应该使用StringBuilder,而不是纯连接,如果可能的话,特别是如果你不知道它会循环多少次。字符串是不可变的,因此500个循环在内存中是非常多的临时字符串。