C# 控制台 - 用户输入 X 数字并存储在数组中

C# Console - User inputs X numbers and gets stored in array

我试图让控制台应用程序接受 5 个数字并用它填充一个数组,但是这段代码的问题是,它只接受 4 个数字并用 null 填充最后一个索引,我该如何解决这个问题?

      string[] numbers = new string[4];

        Console.WriteLine("Hi, Enter 5 numbers!");
        ConsoleKeyInfo key;
        for (int i = 0; i < numbers.Length; i++)
        {
            string _val = "";
            do
            {
                key = Console.ReadKey(true);
                if (key.Key != ConsoleKey.Backspace)
                {
                    double val = 0;
                    bool _x = double.TryParse(key.KeyChar.ToString(), out val);
                    if (_x)
                    {
                        _val += key.KeyChar;
                        Console.Write(key.KeyChar);
                    }
                }
                else
                {
                    if (key.Key == ConsoleKey.Backspace && _val.Length > 0)
                    {
                        _val = _val.Substring(0, (_val.Length - 1));
                        Console.Write("\b \b");
                    }
                }                  
            }
            while (key.Key != ConsoleKey.Enter);
            Console.WriteLine();

            numbers[i] = _val;

        }
        Console.WriteLine();
        for(int i = 0; i < numbers.Length; i++)
        {
           Console.WriteLine(i + " : " + numbers[i]);
        }
        Console.WriteLine(numbers.Length);
        Console.ReadKey();
    }

代码中string[] numbers = new string[4];表示数字数组大小为 4,数组以 0 索引开始。因此最后一个索引不为空。将字符串 [4] 更改为字符串 [5]。希望这能解决您的问题。