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

C#如何使用TryParse实现用户输入数字的无限次重试功能

实现方案

你原来的代码是硬编码了3次输入校验逻辑,只要把读取输入、解析校验的步骤放到while循环里,就能实现无限次重试的效果,完全不需要依赖try-catch,TryParse就可以独立完成需求:

// 提示用户输入年龄,存储信息,清除程序视图
Console.WriteLine("Enter " + name + "`s age:");

int age;
bool parseOkay = false;

// 解析失败时持续循环重试
while (!parseOkay)
{
    string stringAge = Console.ReadLine();
    parseOkay = int.TryParse(stringAge, out age);
    
    if (!parseOkay)
    {
        Console.WriteLine("无效的数字输入。\n请输入纯数字:");
    }
}

// 循环退出时age已经是解析成功的整数,可以正常使用

逻辑说明

  • 初始状态将解析成功标记parseOkay设为false,保证循环可以正常启动
  • 每次循环都会重新读取用户输入、执行解析操作,不会出现值不更新的问题
  • 只要解析失败就会触发错误提示,进入下一轮循环等待用户重新输入,解析成功后标记会变为true,自动退出循环

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:36:03