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

如何在C#中使用TryParse方法实现指定格式的车牌输入验证

问题分析与代码修正

你的代码存在几个关键问题,导致无法正常工作:

  • 语法错误:int.TryParse 的 out 参数写法错误,不能在 out 后写表达式
  • 返回值错误:应该返回用户输入的车牌,而非传入的 plaka 参数
  • 缺少中间部分的格式验证:没有检查车牌中间的非数字部分是否符合要求

以下是修正后的代码:

static string PlakaAl(string prompt)
{
    int tempNum;
    while (true)
    {
        Console.Write(prompt);
        string input = Console.ReadLine();
        
        // 验证总长度为8,前两位是数字,中间两位是非数字,后四位是数字
        if (input.Length == 8 
            && int.TryParse(input.Substring(0, 2), out tempNum)
            && !int.TryParse(input.Substring(2, 2), out tempNum)
            && int.TryParse(input.Substring(4, 4), out tempNum))
        {
            return input; // 返回用户输入的有效车牌
        }
        else
        {
            Console.WriteLine("Bu şekilde plaka girişi yapamazsınız. Tekrar deneyin.");
        }
    }
}

修正点说明

  1. 语法修复:把错误的 out sayi == true 改成正确的 out tempNum,int.TryParse 本身会返回布尔值,直接作为判断条件即可
  2. 返回值修正:将 return plaka 改为 return input,确保返回用户输入的有效车牌
  3. 增加中间部分验证:通过 !int.TryParse(input.Substring(2, 2), out tempNum) 检查中间两位是否为非数字(符合需求中“其余部分为字符串”的要求)
  4. 参数命名优化:把 plaka 参数改为 prompt,更准确表达其作用(提示文本)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 23:33:13