Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从控制台读取字符_C# - Fatal编程技术网

C# 如何从控制台读取字符

C# 如何从控制台读取字符,c#,C#,我有一个char数组,我想从控制台分配值。这是我的密码: char[] input = new char[n]; for (int i = 0; i < input.Length; i++) { input[i] = Console.ReadLine(); } char[]输入=新字符[n]; for(int i=0;i

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

char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
    input[i] = Console.ReadLine();
}
char[]输入=新字符[n];
for(int i=0;i
但我得到了以下错误:

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

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

使用然后使用
KeyChar
来获取
char
,因为正如您的错误所说,它不能分配给
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();
    }
publicstaticvoiddothis(int n)
{
变量输入=新字符[n];
对于(变量i=0;i
获取Console.ReadLine()返回的字符串的第一个字符

char[]输入=新字符[n];
for(int i=0;i

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

您是否查看了什么是
System.ConsoleKeyInfo
?提示:如果stdin来自某个文件,则可能会重复失败。
char[] input = new char[n];
for (int i = 0; i < input.Length; i++)
{
    input[i] = Console.ReadLine()[0];
}