这是我的原始代码,我试图修改它以将数据输入限制为单个char
,转换为大写。
public char promptForGuess()
{
Console.Write("\nGuess a letter: ");
return Convert.ToChar(Console.ReadLine().ToUpper());
}
我认为这很容易:
public char promptForGuess()
{
Console.Write("\nGuess a letter: ");
return Convert.ToChar(Console.ReadKey().ToUpper());
}
但我收到此错误:
'System.ConsoleKeyInfo' does not contain a definition for 'ToUpper' and no extension method 'ToUpper' accepting a first argument of type 'System.ConsoleKeyInfo' could be found (are you missing a using directive or an assembly reference?)
这对我来说并没有多大意义……而且谷歌也不是很有帮助。我试过这个,
public char promptForGuess()
{
Console.Write("\nGuess a letter: ");
return = Console.ReadKey();
}
并收到一条消息,我无法隐式转换ReadKey()
为char
.
public String promptForGuess()
{
Console.Write("\nGuess a letter: ");
return Console.ReadKey();
}
告诉我我不能隐式转换Console.ReadKey()
为String
所以如果不是char
和不是String
,是什么类型Console.ReadKey()
。我怎样才能返回一个char
with ToUpper()
?