【发布时间】:2021-03-04 19:18:37
【问题描述】:
是的,我知道有很多其他线程可能有相同的问题......但我还是不明白。
我正在通过 Visual Studio 用 C# 编写代码,并希望制作菜单之类的东西,以便您可以选择不同的选项...取决于您选择的选项,变量会改变。
但重要的是只有一个变量,所以当用户选择一个选项时,变量会发生变化。
类似这样的:
stt:
string m = Console.ReadLine();
Console.Clear();
int c = Convert.ToInt32(m);
if (c == 1)
{
var ttt = "one";
}
if (c == 2)
{
var ttt = "two";
}
else {
goto stt;
}
Console.WriteLine("" + ttt);
Console.ReadKey();
我总是得到错误
名称'ttt'在当前上下文中不存在
所以我必须在 if 语句之外声明 var...但是如何??
【问题讨论】:
-
请查看变量范围和代码块,this 可能会对您有所帮助。
-
我强烈建议您不要使用
goto,而是尝试使用循环和 if 语句来编写代码。 -
@juharr 另一方面,代码看起来是使用某种工具使用随机变量名称生成的——在这种情况下,goto 可能没问题...将一些自定义语言交叉编译成非常精简的 C# 版本在去一些较低级别的目标之前是我的选择......(不是 100% 认真的 cmets)
-
也应该是
else if(c == 2),否则当c为1 时,它仍会使用goto进入else
标签: c# if-statement variables