首页 > 解决方案 > 后退/前进到 C# 中的命令

问题描述

        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.');
        }

在上面的代码中,我怎样才能使else if语句返回到第三行,else语句将返回到代码的第一行并从那里继续运行?

标签: c#if-statement

解决方案


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

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);

笔记

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


推荐阅读