Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.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中的命令#_C#_If Statement - Fatal编程技术网

C# 返回/前进到C中的命令#

C# 返回/前进到C中的命令#,c#,if-statement,C#,If Statement,在上面的代码中,如何使else if语句返回到第三行,而else语句返回到代码的第一行并从那里继续运行?您可以尝试使用do….While(true)循环 Console.WriteLine('What is your name, traveler?'); string mainName = Console.ReadLine(); Console.WriteLine('So, your name is ' + mainName + ' ? y/n')

在上面的代码中,如何使
else if
语句返回到第三行,而
else
语句返回到代码的第一行并从那里继续运行?

您可以尝试使用
do….While(true)
循环

        Console.WriteLine('What is your name, traveler?');
        string mainName = Console.ReadLine();
        Console.WriteLine('So, your name is ' + mainName + ' ? y/n');
        char ans = Console.ReadKey;
        if (ans == y) 
        {
            Console.WriteLine('Nice, let me introduce myself now.');
        }
        else if(ans == n)
        {

        }
        else
        {
            Console.WriteLine('Please insert either y or n.');
        }
注意


我会使用
Console.ReadKey(true).Key
获取键盘输入值,因为它是enum。

您的代码可能未编译。有
使用系统语句,但我只是把我们要找的部分放进去。
if(ans==y)
应该是
if(ans==y')
而且你要找的是
do。。当
循环时。。。再多做点调查,你很快就会搬家了!我想一个
,而
就行了。我明天会试试,因为现在对我来说已经很晚了(22:58)。这可能就行了。我几分钟后就试试。
Console.WriteLine("What is your name, traveler?");
string mainName = Console.ReadLine();
Console.WriteLine("So, your name is " + mainName + " ? y/n");
do
{
    var ans = Console.ReadKey(true).Key;
    if (ans == ConsoleKey.Y)
    {
        Console.WriteLine("Nice, let me introduce myself now.");
        break;
    }
    else if (ans == ConsoleKey.N)
    {
        break;
    }
    Console.WriteLine("Please insert either y or n.");
} while (true);