主脑游戏的主菜单

Ben*_*lly 2 c#

我正在尝试为主题游戏创建菜单,可以使用C#在命令提示符下运行.我遇到的问题是捕获菜单的用户输入.如果他们输入2然后它应该显示他们输入了第二个,如果没有,那么它会说他们没有显示第二个.

我遇到的问题是它不会将用户输入转换为工作整数,并且要么说它不能显式地从System.ConsoleKeyInfo转换为int或字符串转换为int.

using System;

namespace MasterMind
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("               MasterMind's Main Menu");
            Console.WriteLine("                    1: Play");
            Console.WriteLine("                    2: Help");
            Console.WriteLine("                    0: Exit");
            int userinput = Console.ReadKey();
            if (Nuserinput == 2);
            {
                Console.WriteLine("This is a number 2");
            }
            else
            {
                Console.WriteLine("This is not a number 2");
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*vid 5

Console.ReadKey() 返回一个ConsoleKeyInfo对象,它不是一个int对象.你可以从中得到一个char,例如:

var key = Console.ReadKey();
var keyChar = key.KeyChar;
Run Code Online (Sandbox Code Playgroud)

如果您希望该char值表示整数,则可以将其转换为1:

int keyInt = (int)Char.GetNumericValue(keyChar);
Run Code Online (Sandbox Code Playgroud)

除了其他错误检查之外,您可能希望在用户输入有效整数的情况下放置,这至少会获得您正在寻找的整数值.