如何从控制台读取字符

问题描述 投票:0回答:4

我有一个

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

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

但是我收到以下错误:

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

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

c# console char console.readline
4个回答
36
投票

使用

Console.ReadKey
然后使用
KeyChar
来获取
char
,因为
ConsoleKeyInfo
不可分配给
char
,正如您的错误所述。

input[i] = Console.ReadKey().KeyChar;

2
投票

简单的示例:

    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();
    }

0
投票

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

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

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


0
投票
public static int MyAnswer(int n)
{
  int[] ac = new int[n];

  for (int i = 0; i < ac.Length; i++) {
  
  ac[i] = char.Parse(Console.ReadLine());

  Console.WriteLine(ac[i]);
 }
 return 0;
}


  
© www.soinside.com 2019 - 2024. All rights reserved.