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

发布于 2024-12-04 00:23:59 字数 432 浏览 1 评论 0原文

可能的重复:
我可以“乘”一个字符串(在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

挽梦忆笙歌 2024-12-11 00:23:59

没有。没有这样的运算符。

你可以这样做

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

,但这在内部仍然循环。

Nope. There is no such operator.

you could do

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

but that's internally still looping.

凯凯我们等你回来 2024-12-11 00:23:59

如果不简单地隐藏循环或其他一些人为的示例,答案是否定的。

The answer to this, without simply hiding the loop or some other contrived example, is no.

各自安好 2024-12-11 00:23:59

是的,也不是。
不,不是开箱即用的。
是的,您可以创建一个扩展方法来非常轻松地做到这一点。
请参阅此处有关字符串扩展方法的线程 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文