Visual Studio问题与识别变量

时间:2018-02-21 22:35:38

标签: c# visual-studio intellisense

好的,简而言之:

我声明了一个变量,比如说

string str = "Random";

然后我尝试执行任何类型的操作,比如说

str.ToLower();

视觉工作室和intellisense都没有认出它。 VS给我的名字“str”在当前上下文中不存在。这是在我安装xamarin后发生的,但我不确定它是否相关。

如果我在一个方法中,就在我直接在一个类中时,也不会出现这个问题。

这是我的代码:

public class Program {
   public void randomMethod() {
      string str2 = "Random";
      str.ToUpper(); //this line shows no errors
   }

   string str = "Random";
   str.ToLower(); //this line does show the error
}

str将加下划线红色,并且会出现上述警告。

有人知道发生了什么吗?

2 个答案:

答案 0 :(得分:2)

你甚至自己指出问题

你不能这样做

public class Program {
   string str = "Random";
   str.ToLower(); //this line does show the error
}

您希望何时运行该代码?

必须将可执行代码放入函数中。你指出这是有效的。

我无法提出修正案,因为我不知道你要做什么。

答案 1 :(得分:1)

这是一个范围问题:

public class Program {
   public void randomMethod() { //method scope starts
      string str2 = "Random";
      str.ToUpper(); //this line shows no errors
   } //method scope ends

   string str = "Random";  //this is a class field, but is missing an accessibility level
   str.ToLower(); //this line SHOULD show an error, because you can't do this in a class
}