Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.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
使用do while循环重新启动C#程序的简单是/否_C#_While Loop_Do While_Restart - Fatal编程技术网

使用do while循环重新启动C#程序的简单是/否

使用do while循环重新启动C#程序的简单是/否,c#,while-loop,do-while,restart,C#,While Loop,Do While,Restart,我不明白为什么无论此时输入什么,字符串重新启动都会更改为“否”: while ( (restart != "YES") && (restart != "NO") ) 任何帮助都将不胜感激 do { //main part of program Console.Write("Do you wish to calculate another? (YES/NO) "); restart = Console.ReadLine(); restart =

我不明白为什么无论此时输入什么,字符串重新启动都会更改为“否”:

while (
  (restart != "YES") && (restart != "NO")
)
任何帮助都将不胜感激

do
{
    //main part of program
    Console.Write("Do you wish to calculate another? (YES/NO) ");
    restart = Console.ReadLine();
    restart = qualified.ToUpper();
    while ((restart != "YES") && (restart != "NO"))   //????
    {
        Console.WriteLine("Error");
        Console.WriteLine("Do you wish to calculate another? (YES/NO) ");
        restart = Console.ReadLine();
        restart = qualified.ToUpper();
    }
} while (restart == "YES");

删除以下代码:

restart = qualified.ToUpper();

删除以下代码:

restart = qualified.ToUpper();
qualified.ToUpper()
从未分配给,因此保持不变。无论用户输入什么,您的
重新启动
变量始终被分配相同的值。只需将其取出并使用:

do
{
    //main part of program
    Console.Write("Do you wish to calculate another? (YES/NO) ");
    restart = Console.ReadLine().ToUpper();
    while ((restart != "YES") && (restart != "NO"))   //????
    {
        Console.WriteLine("Error");
        Console.WriteLine("Do you wish to calculate another? (YES/NO) ");
        restart = Console.ReadLine().ToUpper();
    }
} while (restart == "YES");
qualified.ToUpper()
从未分配给,因此保持不变。无论用户输入什么,您的
重新启动
变量始终被分配相同的值。只需将其取出并使用:

do
{
    //main part of program
    Console.Write("Do you wish to calculate another? (YES/NO) ");
    restart = Console.ReadLine().ToUpper();
    while ((restart != "YES") && (restart != "NO"))   //????
    {
        Console.WriteLine("Error");
        Console.WriteLine("Do you wish to calculate another? (YES/NO) ");
        restart = Console.ReadLine().ToUpper();
    }
} while (restart == "YES");

将restart设置为控制台输入,然后将其设置为某个变量“qualified”的大写字母?调试代码。观察值的变化。正如
stuartd
所指出的,您可以立即丢弃他们的输入。如果您一步一步地查看它,您会发现这一点。您将restart设置为控制台输入,然后将其设置为某个变量“qualified”的大写字母。
restart=qualified.ToUpper()?调试代码。观察值的变化。正如
stuartd
所指出的,您可以立即丢弃他们的输入。如果你一步一步地看,你会发现这一点。至少可以说非常尴尬。。。疲劳时编码不是一个好主意。谢谢大家的快速回复。所以请投赞成票,至少我觉得很尴尬。。。疲劳时编码不是一个好主意。谢谢大家的快速回复。所以请投赞成票