输入不被接受

时间:2018-07-17 09:01:42

标签: c#

了解:

  • 针对刚开始上体育馆的人的程序。 (我正在努力 学习C#)
  • 首先,用户填写其姓名,年龄,性别,体重高度。
  • 然后用户选择一个目标。

为了更好地理解,发生了一些类似的事情。 (在上述步骤之后)

 if (Goal.GoalStatusGainWeight == true && Console.ReadLine() == "y")
        {
            Console.Clear();
            InitFiveByFive();

            //Caluclate Calories based on Gender and Goal
            GainWeight.ShowFoodsToGainWeight();
            Nutrition.CalcuateCalories();

            ExitToMenu();
        }

这是我的问题所在:

private static void ExitToMenu()
    {
        Console.WriteLine("PRESS ESC To Return to the MENU");
        var input = Console.ReadKey();

            if (input.Key == ConsoleKey.Escape)
            {
                Console.Clear();
                InitMenu();

            }    

    }

问题是当我返回菜单时。然后再次输入一些东西。

 do
        {
            var userInput = Console.ReadKey();

            try
            {
                switch (userInput.Key)
                {
                    case ConsoleKey.D1:
                        Console.Clear();
                        InitUser();
                        InitGoals();
                        Stats.ShowStats = true;
                        Menu.ShowMenu = false; 
                        break;
                    case ConsoleKey.D2:
                        Console.Clear();
                        Menu.Disclamer();
                        Menu.ShowMenu = true;
                        Menu.ShowDiscalmer = true;
                        break;
                    case ConsoleKey.D3:
                        Console.Clear();
                        Menu.MadeBy();
                        break;
                    default:
                        Console.Clear();
                        InitMenu();
                        break;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw;
            }

            if (Menu.ShowMenu == false)
            {
                Menu.MenuOnOff = false;
            }

        } while (Menu.MenuOnOff == true);

不会再次接受输入。我不确定如何处理这种情况。 用户存在“锻炼计划”并返回菜单后,我尝试再次按1,(case ConsoleKey.D1:)我的控制台应用程序刚刚关闭。

希望我能得到您需要的一切,如果有什么遗漏,请告诉我。

谢谢。

0 个答案:

没有答案