Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How would I make a Yes/No prompt in Console using C#?

I'm mostly new to C# and I've been writing code to practice.

I've written some code where you enter a line of text, or a "login key", and I want to make it where you can confirm that login key.

Here's the code I've done so far, I will use "//" on the part I'm stuck on. (Wont include any unnecessary code.)

    Console.WriteLine("Please enter a login key.");

    string Key = Console.ReadLine();

    Console.WriteLine("You entered, " + Key + " as your login key!");

    Console.WriteLine("Are you sure you want to choose this as your login key? "); // This is where I'm stuck at, got no idea how to do a yes/no prompt.
}

Any help would be greatly appreciated.

like image 453
none Avatar asked May 21 '16 05:05

none


1 Answers

You can easily go overboard on these Console login scripts. Here's my contribution:

bool confirmed = false;
string Key;
do {
    Console.Write("Please enter a login key: ");
    Key = Console.ReadLine();
    Console.WriteLine("You entered, " + Key + " as your login key!");

    ConsoleKey response;
    do
    {
        Console.Write("Are you sure you want to choose this as your login key? [y/n] ");
        response = Console.ReadKey(false).Key;   // true is intercept key (dont show), false is show
        if (response != ConsoleKey.Enter)
            Console.WriteLine();

    } while (response != ConsoleKey.Y && response != ConsoleKey.N);

    confirmed = response == ConsoleKey.Y;
} while (!confirmed);
Console.WriteLine("You chose {0}!", Key);
Console.ReadLine();

Sample output:

Please enter a login key: potato
You entered, potato as your login key!
Are you sure you want to choose this as your login key? [y/n] a
Are you sure you want to choose this as your login key? [y/n] s
Are you sure you want to choose this as your login key? [y/n] l
Are you sure you want to choose this as your login key? [y/n] d
Are you sure you want to choose this as your login key? [y/n] k
Are you sure you want to choose this as your login key? [y/n] f
Are you sure you want to choose this as your login key? [y/n] d
Are you sure you want to choose this as your login key? [y/n] n
Please enter a login key: banana
You entered, banana as your login key!
Are you sure you want to choose this as your login key? [y/n] y
You chose banana!
like image 129
tofutim Avatar answered Oct 07 '22 09:10

tofutim