C# 中 while 循环中 switch 语句的不正确行为

Incorrect behavior of switch statement in while loop in C#

我的代码有问题。大多数情况下,我对 switch 语句与 do-while 循环的结合没有任何问题。我认为问题出在 ConsoleKey 函数上,但是由于我开始了编程冒险,所以我无法解决问题。所以我希望来自这个伟大社区的人能帮助我。如果可能的话,我想使用按键在 switch 语句中选择一个选项。感谢帮助。 P.S。英语不是我的第一语言,所以如果我拼错了什么,抱歉。

static void Main(string[] args)
        {
            Console.WriteLine("Attention");
            Console.WriteLine("Choose 1-2");
            var inputData = Console.ReadKey();
            do
            {

               switch (inputData.Key)
                {
                    case ConsoleKey.X:
                        Console.WriteLine("action 1");
                        break;
                    case ConsoleKey.Y:
                        Console.WriteLine("action 2");
                        break;
                    default:
                        Console.WriteLine("Default");
                        break;
                }
            } while (inputData.Key != ConsoleKey.Escape);
            Console.ReadKey();
        }
            Console.WriteLine("Attention");
            Console.WriteLine("Choose 1-2");
            ConsoleKeyInfo inputData = Console.ReadKey();
            do
            {

                switch (inputData.Key)
                {
                    case ConsoleKey.X:
                        Console.WriteLine("action 1");
                        break;
                    case ConsoleKey.Y:
                        Console.WriteLine("action 2");
                        break;
                    default:
                        Console.WriteLine("Default");
                        break;
                }

                Console.WriteLine("Choose 1-2");
                inputData = Console.ReadKey();
            } while (inputData.Key != ConsoleKey.Escape);

            Console.ReadKey();