我有一个char
数组,我想从控制台分配值。这是我的代码:
char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
input[i] = Console.ReadLine();
}
但我收到以下错误:
无法将类型“System.ConsoleKeyInfo”隐式转换为“char”
有没有简单的方法来解决这个问题?
我有一个char
数组,我想从控制台分配值。这是我的代码:
char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
input[i] = Console.ReadLine();
}
但我收到以下错误:
无法将类型“System.ConsoleKeyInfo”隐式转换为“char”
有没有简单的方法来解决这个问题?
使用Console.ReadKey
and then KeyChar
to get char
,因为如您的错误所述,ConsoleKeyInfo
不可分配给。char
input[i] = Console.ReadKey().KeyChar;
快速示例:
public static void DoThis(int n)
{
var input = new char[n];
for (var i = 0; i < input.Length; i++)
{
input[i] = Console.ReadKey().KeyChar;
}
Console.WriteLine(); // Linebreak
Console.WriteLine(input);
Console.ReadKey();
}
获取 Console.ReadLine() 返回的字符串的第一个字符
char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
input[i] = Console.ReadLine()[0];
}
这将丢弃除第一个字符之外的所有用户输入。