C# 中出现的一个问题,为什么输入数字后显示异常?该如何解决。

using System;

namespace _3
{
class Program
{
public static void Main(string[] args)
{
Int32[] inNum = new int[10];
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Please input the 10 Numbers:", i);
try
{
inNum[i - 1] = Convert.ToInt32(Console.ReadLine()); //输入十个整数
}
catch (Exception e)
{
Console.Write(e.ToString());
}
}

        for (int i = 10; i > 0; i--)
        {
            Console.WriteLine("The {0} Num is: {1}", i.ToString(), inNum[i - 1]);
            //逆序输出十个整数
        }

        Console.Write("Press any key to continue . . . ");
        Console.ReadKey(true);
    }
}

}
图片说明

按照这种写法,争取输入的做法如下:
(1)数字输入后,回车,再输入第二个数字, 依次类推 图片说明
(2)需要把inNum[i - 1] = Convert.ToInt32(Console.ReadLine()); 改成 inNum[i ] = Convert.ToInt32(Console.ReadLine());

i应该从1开始吧!i为0的时候,数据下标都为-1了,肯定报错呀!而且不明白为什么要重复输入10次

建议楼主换一种写法读取输入数字,这样只要按照图示输入一次(数字之间空格分隔)就可以了

图片说明

static void Main(string[] args)
{

        Int32[] inNum = new int[10];

        Console.WriteLine("Please input the 10 Numbers:");

        string input = Console.ReadLine();//输入十个整数,空格分隔

        List<string> inputstr = input.Trim().Split(' ').ToList();

        for (int i = 0; i < 10; i++)
        {

            try
            {
                inNum[i] = Convert.ToInt32(inputstr[i]); 
            }
            catch (Exception e)
            {
                Console.Write(e.ToString());
            }
        }


        for (int i = 10; i > 0; i--)
        {
            Console.WriteLine("The {0} Num is: {1}", i.ToString(), inNum[i - 1]);
            //逆序输出十个整数
        }

        Console.Write("Press any key to continue . . . ");
        Console.ReadKey(true);


    }