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

我的C#代码有问题还是Visual Studio Code出现故障?

问题根因

  • 你调用的Console.Read()仅读取输入流中的单个字符,返回值是该字符对应的ASCII编码数值,不是你输入的数字本身。例如你输入数字5,该方法返回的是字符'5'对应的ASCII值53,而非整数5。
  • 你输入内容后按下的回车键会生成\r、\n两个换行符,这两个字符会被后续循环的Console.Read()直接读取,不会等待你输入新内容,所以直观看起来就像循环没有执行。

修复方法

将Console.Read()替换为Console.ReadLine()读取整行输入,再转换为int类型即可,修复后的参考代码如下:

static void Main(string[] args)
{
    int sum = 0;
    Console.Write("Started Program");
    Console.WriteLine("...");
    for (int i = 0; i < 10; i++)
    {
        Console.Write("Choose numbers you want to add: ");
        // 增加输入校验,避免非数字输入导致程序崩溃
        int num = int.TryParse(Console.ReadLine(), out int input) ? input : 0;
        sum += num;
    }
    Console.WriteLine(sum);
}

补充注意事项

如果修改代码后仍然无法正常交互输入,确认VS Code运行C#程序时使用的是系统默认终端,不要使用内置的调试控制台,调试控制台默认不支持交互式标准输入。

内容的提问来源于stack exchange,提问作者Monte Scott Barber

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:24:02