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

C#:如何在条件为false时执行循环?调整TryParse循环逻辑

解决C#中条件为false时执行循环的问题

哦,我懂你的问题了——你现在的循环逻辑刚好搞反了,咱们调整一下就能搞定!

首先得明确Int32.TryParse()的返回规则:当它成功把字符串转换成整数时,会返回true,同时把转换后的值存入out参数;如果输入不是合法整数(转换失败),就返回false。你原来的代码是转换成功时继续循环,这和你想要的“输入非整数时循环”正好相反。

修改后的代码实现

只需要给TryParse的返回值加一个取反操作符!,就能让循环在转换失败时继续执行,转换成功时终止:

string multiplierstr;
int multiplier;

do
{
    Console.WriteLine("请输入一个整数:"); // 可以加个提示提升用户体验
    multiplierstr = Console.ReadLine();
} while (!Int32.TryParse(multiplierstr, out multiplier));

// 到这里,multiplier已经是有效的整数,可直接用于后续逻辑
Console.WriteLine($"你输入的有效整数是:{multiplier}");

更简洁的写法(C# 7.0+)

如果你用的是C# 7.0及以上版本,可以直接在TryParse里声明out参数,省去提前定义变量的步骤:

string multiplierstr;

do
{
    Console.WriteLine("请输入一个整数:");
    multiplierstr = Console.ReadLine();
} while (!Int32.TryParse(multiplierstr, out int multiplier));

// 此处可直接使用multiplier变量

这样调整后,只要用户输入的不是合法整数,循环就会一直运行,直到输入正确为止,完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:27:04