如何使用字符.尝试解析我的菜单
本文关键字:我的 菜单 何使用 字符 | 更新日期: 2023-09-27 18:31:51
>我创建了一个播放器类,并从该类为我的菜单驱动的播放器系统创建了一个数组,我正在尝试使用我的 GetChar 方法来继续显示提示并读取用户在键盘上键入的任何内容,直到 Char.TryParse 可以将输入转换为字符但是当我使用它时,它只是一遍又一遍地重复错误消息无效输入。
任何帮助将不胜感激
//Returns either a 'C', 'R', 'U', 'D', 'L', or 'X' to the caller
static char GetMenuItem()
{
char menuItem;
DisplayMenu();
menuItem = IOConsole.GetChar((Console.ReadLine()));
while (menuItem != 'C'
&& menuItem != 'L' && menuItem != 'X' && menuItem != 'R' && menuItem != 'U' && menuItem != 'D')
{
Console.WriteLine("'nError - Invalid menu item");
DisplayMenu();
//menuItem = IOConsole.GetChar((Console.ReadLine()));
}
return menuItem;
}
这是我的 GetChar 方法
public static char GetChar(string prompt)
{
char validChar;
var input = Console.ReadKey();
while (!Char.TryParse(input.Key.ToString(), out validChar))
{
Console.WriteLine("Invalid entry - try again.");
Console.Write(prompt);
}
return validChar;
}
Console.ReadKey()
返回一个ConsoleKeyInfo
实例。您可以使用 KeyChar
属性从中访问char
。无需打电话TryParse
.
您的代码不起作用,因为ConsoleKeyInfo.ToString
不会返回您期望的内容。根据文档,它:
返回此实例的完全限定类型名称。