Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 名称(变量)在当前上下文中不存在_C#_Loops_Do While - Fatal编程技术网

C# 名称(变量)在当前上下文中不存在

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

我的程序中有一个bug,我似乎无法解决——即使在查看了有关堆栈溢出和Google的问题之后。我的程序引发异常,当前上下文中不存在name变量

您正在do块内声明warOption,但在while语句中在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);