2016-05-21 32 views
2

我主要是C#的新手,我一直在寫代碼來練習。如何使用C#在控制檯中進行是/否提示?

我已經寫了一些代碼,您輸入一行文本或「登錄密鑰」,並且我想讓它可以確認登錄密鑰的位置。

下面是我到目前爲止所做的代碼,我將在我卡住的部分使用「//」。 (不包括任何不必要的代碼。)

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. 
} 

任何幫助將不勝感激。

回答

6

您可以輕鬆地在這些控制檯登錄腳本上超負荷工作。這裏是我的貢獻:

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

輸出示例:

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

您可以使用while循環

bool confirmed = false; 

while(!confirmed) 
{ 
    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? [yes/no]"); 

    string option = Console.ReadLine(); 

    if (option == "yes") 
    { 
     confirmed = true; 
    } 

} 

這樣,如果option是什麼,但yes它會留在while循環。

0

使用Console.ReadKey();

Console.WriteLine(「按'y'如果你想超棒!」);

ConsoleKeyInfo cki = Console.ReadKey();

如果(cki.Key.ToString()== 「Y」) {// 你需要什麼是 }其他{// 其他塑機則Y 東西}

相關問題