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

C# If else语句无法按输入值输出Yay/Nay,请求排查问题

问题分析与修复方案

问题根源

你的代码核心问题出在Console.Read()的使用上:

  • Console.Read()仅读取输入的单个字符的ASCII码值,而非用户输入的完整数字。比如输入"5",它返回的是字符'5'的ASCII码53;输入"10",它只会读取第一个字符'1',返回ASCII码49。
  • 未使用Convert.ToInt32时,直接将ASCII码值与10比较,像数字字符的ASCII码(48-57)都大于10,但你说全输出"You are Wrong",大概率是变量类型匹配错误导致的逻辑异常;使用转换后,所有数字字符的ASCII码都≥10,所以必然全输出"Yay",完全偏离需求。

修复后的代码

改用Console.ReadLine()读取完整输入行,配合安全转换方法实现需求,同时加入输入验证避免报错:

Console.Write("Welcome! Please Select Any Number: ");

// 读取整行输入并尝试转换为整数
if (int.TryParse(Console.ReadLine(), out int x))
{
    if (x >= 10)
    {
        Console.WriteLine("Yay");
    }
    else
    {
        Console.WriteLine("Nay");
    }
}
else
{
    Console.WriteLine("请输入有效的整数!");
}

关键说明

  • Console.ReadLine():读取用户输入的一整行文本,确保能获取完整的数字(如"10"、"5")。
  • int.TryParse():安全完成字符串到整数的转换,避免输入非数字内容时抛出异常,同时通过out参数返回转换后的数值。
  • 修正输出文本为需求要求的"Nay",完全匹配最初的功能预期。

内容的提问来源于stack exchange,提问作者A-Zuma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:00:03