C# 名称(变量)在当前上下文中不存在
我的程序中有一个bug,我似乎无法解决——即使在查看了有关堆栈溢出和Google的问题之后。我的程序引发异常,当前上下文中不存在name变量 您正在do块内声明warOption,但在while语句中在do块外引用它:C# 名称(变量)在当前上下文中不存在,c#,loops,do-while,C#,Loops,Do While,我的程序中有一个bug,我似乎无法解决——即使在查看了有关堆栈溢出和Google的问题之后。我的程序引发异常,当前上下文中不存在name变量 您正在do块内声明warOption,但在while语句中在do块外引用它: do { /* ... */ int warOption = Convert.ToInt32(stringWarOption); /* ... */ } while (warOption != 1); 该变量未在该范围内定义。将“战争声明”选项移动到do
do {
/* ... */
int warOption = Convert.ToInt32(stringWarOption);
/* ... */
} while (warOption != 1);
该变量未在该范围内定义。将“战争声明”选项移动到do块之前:
很可能是“warOption”,因为您在do循环内声明它,然后尝试在该循环外使用它,这是正确的!我忘记添加,int-warOption=0;如果我添加了=0,这有关系吗?因为我的程序没有bug,并且在没有bug的情况下可以正常工作?无需添加它。声明的默认值为0。
do {
/* ... */
int warOption = Convert.ToInt32(stringWarOption);
/* ... */
} while (warOption != 1);
int warOption;
do {
/* ... */
warOption = Convert.ToInt32(stringWarOption);
/* ... */
} while (warOption != -1);