【发布时间】:2020-03-29 22:59:33
【问题描述】:
我已经使用 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”语句中突出显示了两个“输入”变量,并说“当前上下文中不存在名称输入”。我觉得我忽略了一些东西,任何帮助将不胜感激。 我的完整代码是这样的:
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");
}
}
}
}
【问题讨论】:
-
我们需要在现场看到它们。您没有提到是否有不同的方法或其他结构代码可能会改变变量的范围。
-
我们没有线索你在哪里声明
input与这段代码在哪里。基本上,在如此少的背景下,我们无法为您提供帮助。例如,您是否在构造函数中将input声明为局部变量,然后尝试在单独的方法中访问它?或者它可能是一个实例变量,而您正试图在静态方法中使用它?如果它是一个字符串变量,你为什么要把它和0比较? -
请显示完整的上下文
-
请用您的代码文件的全部内容编辑您的问题
-
好吧。 OP 确实说他们在另一个 if 语句中声明了
input。所以,这就是问题所在。由于input仅在 if 语句的 inside 范围内,因此在它之外无法使用。你需要在外面声明,然后在里面设置。
标签: c#