我应该把什么代码放在回车里呢?

本文关键字:回车 什么 代码 我应该 | 更新日期: 2023-09-27 18:16:24

我做了一个切换案例,我使用向上箭头键,向下箭头键和输入键。然而,我想不出如何将代码放入我的enter大小写中,我可以在其中选择一个选项。

public static void entries()
    {
        keyPressed = Console.ReadKey(true);
        switch (keyPressed.Key)
        {
            case ConsoleKey.DownArrow:
                if (keyPressed.Key.ToString() == "DownArrow")// selects the curitem when the down arrow key is pressed
                {
                    curItem++;
                    if (curItem > menuItems.Length - 1) curItem = 0;
                }
                break;
            case ConsoleKey.UpArrow:
                if (keyPressed.Key.ToString() == "UpArrow")// selects the curitem when the up arrow key is pressed
                {
                    curItem--;
                    if (curItem < 0) curItem = Convert.ToInt16(menuItems.Length - 1);
                }
                break;
            case ConsoleKey.Enter:
                if (keyPressed.Key.ToString() == "Enter")// when enter is pressed it will go to one of the choices 
                {
                }
                break;
            default:
                break;
        }
    }

我应该把什么代码放在回车里呢?

您关于嵌套if语句的想法是正确的,或者有另一个开关。我可能会把它重新分解到另一个函数中:

case ConsoleKey.Enter:
   chooseOption(curItem);
   break;

void chooseOption(int item)
{
   switch(item)
   {
      case 1:
        //Do item 1
        break;
      case 2:
        //Do item 2
        break;
      case 3:
        //Do item 3
        break;
   }
}

根据你的评论。下面是如何在menuItems数组中显示当前项的方法。我假设menuItems保存了一些字符串或整数,或者可以很容易地写入控制台的东西。

case ConsoleKey.Enter:
// when enter is pressed it will go to one of the choices 
   Console.Clear();
   Console.WriteLine(menuItems[curItem]);
   break;