使用 * 运算符多次显示字符串
可能的重复:
我可以“乘”一个字符串(在 C# 中)吗?
有吗是否有一种使用 str * 2
多次显示字符串的简单方法?
换句话说,有没有一种方法可以:
int numTimes = 500;
String str = "\n";
String body = ""
for (int i = 0; i < numTimes; i++)
{
body = "Hello" + str;
}
不需要 for 循环?
Possible Duplicate:
Can I “multiply” a string (in C#)?
Is there a simple way to display a String multiple times by using something like str * 2
?
In other words, is there a way to have:
int numTimes = 500;
String str = "\n";
String body = ""
for (int i = 0; i < numTimes; i++)
{
body = "Hello" + str;
}
Without needing the for loop?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
没有。没有这样的运算符。
你可以这样做
,但这在内部仍然循环。
Nope. There is no such operator.
you could do
but that's internally still looping.
如果不简单地隐藏循环或其他一些人为的示例,答案是否定的。
The answer to this, without simply hiding the loop or some other contrived example, is no.
是的,也不是。
不,不是开箱即用的。
是的,您可以创建一个扩展方法来非常轻松地做到这一点。
请参阅此处有关字符串扩展方法的线程 C# 字符串运算符重载
它仍然会循环,因此您应该如果可能的话,使用 StringBuilder,而不是纯粹的串联,特别是如果您不知道它将循环多少次。字符串是不可变的,因此 500 次循环在内存中的临时字符串数量非常多。
Yes and no.
No, not out of the box.
Yes, you can make an extension method to do that pretty easily.
See thread on string extension methods here C# String Operator Overloading
It would still be looping, so you should use StringBuilder, not pure concatenation, if possible, especially if you don't know how many times it will loop. Strings are immutable, so 500 loops is an awful lot of temp strings in memory.