8

我有一个char数组,我想从控制台分配值。这是我的代码:

char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
    input[i] = Console.ReadLine();
}

但我收到以下错误:

无法将类型“System.ConsoleKeyInfo”隐式转换为“char”

有没有简单的方法来解决这个问题?

4

3 回答 3

33

使用Console.ReadKeyand then KeyCharto get char,因为如您的错误所述,ConsoleKeyInfo不可分配给。char

input[i] = Console.ReadKey().KeyChar;
于 2013-11-08T13:53:01.310 回答
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();
    }
于 2013-11-08T13:59:40.297 回答
0

获取 Console.ReadLine() 返回的字符串的第一个字符

char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
    input[i] = Console.ReadLine()[0];
}

这将丢弃除第一个字符之外的所有用户输入。

于 2020-01-08T18:46:10.930 回答