如何从控制台读取字符

时间:2013-11-08 13:51:50

标签: c#

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

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

但我收到以下错误:

  

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

有一种简单的方法可以解决这个问题吗?

3 个答案:

答案 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];
}

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