Search code examples
c#console-application

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.


Solution

  • 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!