if和else if语句C#

Fma*_*eir 0 c#

嗨,当我输入是或否/否它没有做它应该做的我做错了什么?

在此输入图像描述

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Username:");
        String user = Console.ReadLine();
        Console.WriteLine("Password:");
        String Pass = Console.ReadLine();

        Console.WriteLine("Are You Sure Your User: " + user + " And Pass: " + Pass + " is correct?  Yes/No");
        Console.ReadLine();
        if (Console.ReadLine() == "Yes" || Console.ReadLine() == "yes")
        {
            Console.WriteLine("You May now close this");
        }
        else if(Console.ReadLine() == "No" || Console.ReadLine() == "no")
        {
            Console.WriteLine("Pleas Press enter");
            System.Diagnostics.Process.Start(Environment.GetCommandLineArgs()[0], Environment.GetCommandLineArgs().Length > 1 ? string.Join(" ", Environment.GetCommandLineArgs().Skip(1)) : null);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

您要求两次用户输入.第一个Console.ReadLine();是您输入"是"或"否"的内容,但是您的if/ else if声明再次要求输入.

Console.WriteLine("Are You Sure Your User: " + user + " And Pass: " + Pass + " is correct?  Yes/No");
var input = Console.ReadLine();
if (input == "Yes" || input == "yes")
{
   Console.WriteLine("You May now close this");
}
else if(input == "No" || input == "no")
{
   Console.WriteLine("Pleas Press enter");
   System.Diagnostics.Process.Start(Environment.GetCommandLineArgs()[0], Environment.GetCommandLineArgs().Length > 1 ? string.Join(" ", Environment.GetCommandLineArgs().Skip(1)) : null);
}
Run Code Online (Sandbox Code Playgroud)