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

C#运行数字求和代码报错:'ConsoleInput'不存在于当前上下文的原因?

ConsoleInput不存在报错的出现场景
  • C#官方基础类库没有内置ConsoleInput类,这个类属于自定义封装类,当你当前项目没有包含这个类的实现、也没有引用包含该类的程序集时就会触发该报错,常见触发场景如下:
    • 复制了第三方教程/其他项目的代码,原代码依赖自定义的ConsoleInput工具类,复制时没有同步引入该类的实现
    • 混淆了其他编程语言的控制台输入类名,错把其他语言的输入类用到C#项目中
    • 项目引用的第三方包被移除/版本变更,原来包含ConsoleInput类的包不再被项目引用
解决方案

方案1:使用.NET内置输入方法替换(最简便)

直接用C#原生的Console.ReadLine()方法替换对应行即可,对于你当前计算数字各位和的需求完全适用,修改后的代码如下:

using System;

namespace suma_cifrelor_unui_nr
{
    class Program
    {
        static void Main(string[] args)
        {
            int n;
            int suma = 0;

            Console.Write("Introdu numarul ");
            Console.Write("\n");
            // 替换原ConsoleInput调用为内置方法
            n = int.Parse(Console.ReadLine());
            while (n > 0)
            {
                suma = suma + n % 10;
                n = n / 10;
            }
            Console.Write("Suma cifrelor este ==");
            Console.Write(suma);
        }
    }
}

如果需要兼容原方法「读到空白符就停止输入」的逻辑,也可以修改对应行代码为:
n = int.Parse(Console.ReadLine().Split()[0]);

方案2:补全自定义ConsoleInput类实现

如果你需要保留原代码的调用方式,可以在项目中新增如下自定义类即可:

using System;
using System.Text;

public static class ConsoleInput
{
    public static string ReadToWhiteSpace(bool trimWhitespace)
    {
        StringBuilder input = new StringBuilder();
        int nextChar;
        while (!char.IsWhiteSpace((char)(nextChar = Console.Read())))
        {
            input.Append((char)nextChar);
        }
        return trimWhitespace ? input.ToString().Trim() : input.ToString();
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:42:02