当前上下文中不存在名称“input”
我已经进行了大约一年的C#编程,我通常会在某个地方忽略一个细节而遇到这样的问题。 我觉得我再次这样做,但我似乎无法解决问题。 我有一个名为’input’的字符串变量我在’Main’类的’if’语句中声明了它,如下所示:
string input = Console.Readline();
作为一个单独的’if’语句,在同一个’Main’类中,我写了这个:
if (input != null || input != 0) { //I have code for this part, but it is irrelevant } else { //And this part, but it is also irrelevant }
我的问题是MonoDevelop突出显示了第二个’if’语句中的’input’变量,并且说’当前上下文中不存在名称输入’。 我觉得我忽略了什么,任何帮助都会受到赞赏。 我的完整代码是这样的:
using System; namespace ConsoleTest { class MainClass { public static string version = "0.0.1"; public static string precursor = "/:>"; public static void Main (string[] args) { Console.Write ("Console Test "); Console.WriteLine (version); Console.Write (precursor); string start = Console.ReadLine (); if (start == "start") { while (true) { Console.WriteLine ("Started"); Console.Write (precursor); string input = Console.ReadLine (); } } else { Environment.Exit (0); } if (input != null || input != 0) { //Code } else { Console.WriteLine("Error: Input null"); } } } }
在第一个if语句之前声明输入变量。 因为它在内部声明它只在if语句中可用(或者在你的循环中)
input
仅存在于第一个if statement
中的while loop
范围内。
把它移到外面。
string input = new string(); if (start == "start") { while (true) { Console.WriteLine ("Started"); Console.Write (precursor); input = Console.ReadLine (); } }
需要更多代码,但可能是因为您正在尝试将String与int进行比较。 也许你在找
input.equals("0")?
编辑:查看代码,在if语句中初始化变量。 您必须在函数开头初始化它。 即使您只是将其设置为null。
public static void Main (string[] args) { Console.Write ("Console Test "); Console.WriteLine (version); Console.Write (precursor); string start = Console.ReadLine (); string input = null; if (start == "start") { while (true) { Console.WriteLine ("Started"); Console.Write (precursor); input = Console.ReadLine (); } } else { Environment.Exit (0); } if (input != null || !input.equals("0")) { //Code } else { Console.WriteLine("Error: Input null"); } }
您的字符串输入在循环内声明。 因此,在此循环之后不知道。 在循环外声明它(并将其启动为null
或String.Empty
)然后将其填充到循环中
上述就是C#学习教程:当前上下文中不存在名称“input”分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/953598.html