首页 > 解决方案 > 输入未被接受

问题描述

理解:

为了更好地理解,沿着这些思路发生了一些事情。(经过上述步骤)

 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:)我的控制台应用程序刚刚关闭。

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

谢谢你。

标签: c#

解决方案


推荐阅读