如何使用C#中的程序来响应用户输入

Cal*_*leb -2 c# readline while-loop

以下是我的代码.当我点击5时,我必须按Enter键5次才能让程序写入该行,而按6则根本不起作用.任何解决方案将不胜感激.

            Boolean keepRunning = true;
            while (keepRunning = true)
            {
                if (Console.ReadLine() == "1")
                {
                    Console.WriteLine("Still running");
                }
                else if (Console.ReadLine() == "2")
                {
                    Console.WriteLine("Still running2");
                }
                else if (Console.ReadLine() == "3")
                {
                    Console.WriteLine("Still running3");
                }
                else if (Console.ReadLine() == "4")
                {
                    Console.WriteLine("Still running4");
                }
                else if (Console.ReadLine() == "5")
                {
                    Console.WriteLine("Still running5");
                }
                else if (Console.ReadLine() == "6")
                {
                    keepRunning = false;
                }
            }
Run Code Online (Sandbox Code Playgroud)

Mig*_*oom 8

你正在等待每个人的进入Console.ReadLine();.只读一次输入,然后决定做什么.

你应该改变你的状态keepRunning == true.使用您当前的版本,您可以设置keepRunningtrue您的状态,这就是"6"似乎不起作用的原因;)

Boolean keepRunning = true;
while (keepRunning == true)
{
    string input = Console.ReadLine();

    if (input == "1")
    {
        Console.WriteLine("Still running");
    }
    else if (input == "2")
    {
        Console.WriteLine("Still running2");
    }
    else if (input == "3")
    {
        Console.WriteLine("Still running3");
    }
    else if (input == "4")
    {
        Console.WriteLine("Still running4");
    }
    else if (input == "5")
    {
        Console.WriteLine("Still running5");
    }
    else if (input == "6")
    {
        keepRunning = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

您可以使用switch语句使其更好.

switch(input)
{
    case "1":
        Console.WriteLine("Still running");
        break;
    case "2":
        Console.WriteLine("Still running");
        break;
    case "3":
        Console.WriteLine("Still running");
        break;
    case "4":
        Console.WriteLine("Still running");
        break;
    case "5":
        Console.WriteLine("Still running");
        break;
    case "6":
        keepRunning = false;
        break;
    default:
        break;
}
Run Code Online (Sandbox Code Playgroud)