You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中重复执行Console.WriteLine x次?

解决C#中重复执行Console.WriteLine的问题

咱们先排查下你可能踩的坑,再给出几种靠谱的实现方式:

先确认输入解析是否正确

很多时候循环没生效,是因为控制台输入的字符串没正确转换成long类型,或者输入的是负数/0导致循环根本不执行。第一步一定要做好输入验证:

Console.WriteLine("请输入重复次数:");
// 尝试将输入转换为long类型,失败则提示错误
if (!long.TryParse(Console.ReadLine(), out long repeatCount))
{
    Console.WriteLine("输入无效,请输入有效的长整数!");
    return;
}
// 确保次数是正数,否则提示用户
if (repeatCount <= 0)
{
    Console.WriteLine("请输入大于0的数字!");
    return;
}

方法一:修正后的while循环

你之前用while循环没成功,大概率是循环条件或者变量修改的问题。试试这个写法:

long currentCount = repeatCount;
while (currentCount > 0)
{
    Console.WriteLine("这里是你要重复输出的内容");
    currentCount--; // 每次循环后计数减1
}

这里单独用currentCount来计数,避免修改原始的输入值,逻辑更清晰。

方法二:更直观的for循环

for循环天生适合这种计数式的重复操作,而且支持long类型的循环变量:

for (long i = 0; i < repeatCount; i++)
{
    Console.WriteLine("这里是你要重复输出的内容");
}

这种写法不需要额外的变量来维护计数,代码更简洁。

关于Enumerable.Repeat的误区

你之前用Enumerable.Repeat没成功,是因为它的作用是生成包含重复元素的序列,而不是重复执行某个动作。如果非要用LINQ的方式,可以结合ForEach,但要注意局限性:

// 注意:Repeat的第二个参数是int类型,所以如果repeatCount超过int.MaxValue(约21亿)会报错
Enumerable.Repeat(0, (int)repeatCount).ForEach(_ => Console.WriteLine("这里是你要重复输出的内容"));

这种方式只适合repeatCount在int范围内的场景,要是你的x可能非常大,还是用循环更稳妥。

内容的提问来源于stack exchange,提问作者Amber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:34:18