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

编写第二个C#程序时出现编译错误,疑似库、转换或命名空间问题

问题排查与解决步骤

核心错误确认

你的代码存在2个可触发编译/运行报错的问题:

  • 手机号存储类型错误:int(即Int32)取值范围为 -2147483648 ~ 2147483647,11位及以上的手机号远超过该取值上限,用Int32.Parse转换长手机号会触发溢出错误,部分编译器会提前给出类型范围风险告警。
  • 空输入未处理:Console.ReadLine()在用户取消输入等场景下会返回null,直接传入Parse方法会触发空引用异常。

修复后可运行代码

using System;
namespace MagpantayUserInfoProg {
    class UserInfo {
        static void Main() {
            // 手机号改用string存储,避免长度溢出,同时兼容带+、-等特殊格式的号码
            string name, gender, contact;
            int age; 

            Console.Write("Name: ");
            // 空合并运算符处理null返回,默认赋值为空字符串
            name = Console.ReadLine() ?? "";

            Console.Write("Gender: ");
            gender = Console.ReadLine() ?? "";

            Console.Write("Age: ");
            // 改用TryParse处理非法输入,避免用户输入非数字时程序直接崩溃
            while (!int.TryParse(Console.ReadLine(), out age) || age < 0 || age > 120) {
                Console.Write("输入的年龄不合法,请重新输入:");
            }

            Console.Write("Mobile Number: ");
            contact = Console.ReadLine() ?? "";

            // 输出结果
            Console.WriteLine("Name: {0}", name); 
            Console.WriteLine("Gender: {0}", gender);
            Console.WriteLine("Age: {0}", age);
            Console.WriteLine("Mobile Number: {0}", contact);

            Console.ReadLine();
        }
    }
}

效果验证

修改后代码可直接编译运行,既解决了类型溢出报错,也兼容各类手机号格式,同时对用户非法输入做了容错处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:45:02