📜  如何使用 C# ReadKey 制作简单的控制台选择屏幕 - C# (1)

📅  最后修改于: 2023-12-03 14:51:50.790000             🧑  作者: Mango

如何使用 C# ReadKey 制作简单的控制台选择屏幕 - C#

控制台选择屏幕是一个常见的应用场景,比如选择菜单、确定操作等。在 C# 中,我们可以使用 ReadKey 方法实现控制台选择屏幕功能。本文将介绍如何使用 C# ReadKey 制作简单的控制台选择屏幕。

ReadKey 方法

C# 中的 Console 类提供了 ReadKey 方法,该方法可以从控制台读取一个按键,并返回一个 ConsoleKeyInfo 对象,该对象包含按键的信息,如键码、字符及修饰键状态等。

示例代码如下:

ConsoleKeyInfo key = Console.ReadKey();
控制台选择屏幕实现

下面是一个简单的控制台选择屏幕的实现方法。我们可以设置一个选项列表,读取用户输入的按键并根据不同按键执行相应操作,比如选择菜单、退出程序等。

// 定义选项列表
string[] options = { "开始游戏", "游戏设置", "退出游戏" };
int selectedIndex = 0;

while (true)
{
    // 清空屏幕
    Console.Clear();

    // 显示选项
    for (int i = 0; i < options.Length; i++)
    {
        if (i == selectedIndex)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("-> " + options[i]);
            Console.ResetColor();
        }
        else
        {
            Console.WriteLine("   " + options[i]);
        }
    }

    // 读取按键
    ConsoleKeyInfo key = Console.ReadKey(true);

    // 根据不同的按键执行相应操作
    switch (key.Key)
    {
        case ConsoleKey.UpArrow:
            selectedIndex = Math.Max(0, selectedIndex - 1);
            break;
        case ConsoleKey.DownArrow:
            selectedIndex = Math.Min(options.Length - 1, selectedIndex + 1);
            break;
        case ConsoleKey.Enter:
            if (selectedIndex == options.Length - 1)
            {
                // 退出程序
                return;
            }
            else
            {
                // 执行选中的操作
                Console.WriteLine("您选择了 " + options[selectedIndex]);
                Console.ReadKey(true);
            }
            break;
    }
}

上面的代码中,我们使用 while 循环不断显示选项列表,并根据用户输入的按键执行相应操作。对于箭头键,我们可以通过 selectedIndex 变量记录当前选择的选项,并根据 UpArrow 和 DownArrow 按键来修改 selectedIndex 的值,从而实现选择菜单的功能。

对于 Enter 按键,如果选择的是退出游戏选项,我们使用 return 语句来结束程序;否则,我们可以执行选中的操作。

总结

本文介绍了如何使用 C# ReadKey 方法制作简单的控制台选择屏幕。通过这种方式,我们可以很方便地实现选择菜单、确定操作等常见功能。