我有一个char
数组,我想从控制台分配值。这是我的代码:
char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
input[i] = Console.ReadLine();
}
但我收到以下错误:
无法将类型'System.ConsoleKeyInfo'隐式转换为'char'
有一种简单的方法可以解决这个问题吗?
答案 0 :(得分:29)
使用Console.ReadKey
然后KeyChar
来获取char
,因为ConsoleKeyInfo
无法分配给char
,因为您的错误说明了。
input[i] = Console.ReadKey().KeyChar;
答案 1 :(得分:1)
快速举例:
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();
}
答案 2 :(得分:0)
获取Console.ReadLine()返回的字符串的第一个字符
char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
input[i] = Console.ReadLine()[0];
}
这将丢弃除第一个字符以外的所有用户输入。