我使用C#和控制台应用程序向用户询问问题并使用以下方式接收他们的回复:
Console.ReadLine();
我知道当你读一把钥匙时你可以这样做:
ConsoleKeyInfo variableName = Console.ReadKey(true);
但是当我用Console.ReadLine()做的时候; ...
ConsoleKeyInfo variableName = Console.ReadLine()
我收到以下错误消息: 无法隐式转换类型'字符串'到System.ConsoleKeyInfo"
所以问题是,如何将变量分配给Console.ReadLine();用户写的响应?
答案 0 :(得分:1)
Console.ReadLine返回string
,而不是ConsoleKeyInfo
类型的对象。因此,您唯一需要改变的是string
变量的类型:
string variableName = Console.ReadLine();
答案 1 :(得分:1)
string result = Console.ReadLine();
另请参阅Console.ReadLine documentation。
返回值
输入:System.String
输入流中的下一行字符,如果没有更多行可用,则返回null。
答案 2 :(得分:0)
无法将类型'string'隐式转换为System.ConsoleKeyInfo“
您收到此错误,因为Console.ReadLine();
具有返回类型字符串。这可以通过使用:
string result = Console.ReadLine();
或
var result = Console.ReadLine();
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/var