C# 错误:索引超出数组的边界

C# 错误:索引超出数组的边界,c#,loops,C#,Loops,当我运行此代码时: Console.Write("How many numbers do you wish to enter? "); int n = int.Parse(Console.ReadLine()); int[] arrayOfNumbers = new int[n]; for (int i = 0; i < n; i++) { Console.Write("Enter number [{0}]: ", i + 1);

当我运行此代码时:

Console.Write("How many numbers do you wish to enter? ");
    int n = int.Parse(Console.ReadLine());

    int[] arrayOfNumbers = new int[n];

    for (int i = 0; i < n; i++)
    {
        Console.Write("Enter number [{0}]: ", i + 1);
        arrayOfNumbers[i] = int.Parse(Console.ReadLine());
    }

    int minNumber = arrayOfNumbers[0];
    int maxNumber = arrayOfNumbers[0];
    int sumOfNumbers = 0;

    for (int i = 0; i < n; i++)
    {
        if (arrayOfNumbers[n] < minNumber)
        {
            minNumber = arrayOfNumbers[n];
        }
        else if (arrayOfNumbers[n] > maxNumber)
        {
            maxNumber = arrayOfNumbers[n];
        }

        sumOfNumbers += arrayOfNumbers[n];
    }

    double sumDouble = (double)sumOfNumbers;
    double average = sumDouble / n;

    Console.Write("The min number is : {0}", minNumber);
    Console.Write("The max number is : {0}", maxNumber);
    Console.Write("The sum of the numbers is : {0}", sumOfNumbers);
    Console.Write("The average sum of the numbers is : {0:f2}", average);
Console.Write(“您希望输入多少数字?”);
int n=int.Parse(Console.ReadLine());
int[]数组编号=新的int[n];
对于(int i=0;imaxNumber)
{
maxNumber=ArrayOfNumber[n];
}
sumOfNumbers+=arrayOfNumbers[n];
}
double sumDouble=(双)个数的总和;
双倍平均值=双倍/n;
Write(“最小编号为:{0}”,minNumber);
Write(“最大编号为:{0}”,maxNumber);
Write(“数字之和为:{0}”,SumofNumber);
Write(“这些数字的平均和是:{0:f2}”,average);
它给了我一个错误:索引超出了数组的边界

错误在第28行


我的任务是查找“n”个数字的最小值和最大值+总和和平均值。

在for中,必须将变量“n”替换为“I”

像这样:

(...)

for (int i = 0; i < n; i++)
{
    if (arrayOfNumbers[i] < minNumber)
    {
        minNumber = arrayOfNumbers[i];
    }
    else if (arrayOfNumbers[i] > maxNumber)
    {
        maxNumber = arrayOfNumbers[i];
    }

    sumOfNumbers += arrayOfNumbers[i];
}

(...)
(…)
对于(int i=0;imaxNumber)
{
maxNumber=ArrayOfNumber[i];
}
sumofNumber+=数组fNumber[i];
}
(...)

你是从哪里得到这个错误的?顺便说一句,这个代码并没有给我带来那个问题。这里也一样。似乎在做它应该做的。我试着在这里工作!哎呀,我删除了我想你们并没有注意到编辑过的部分,这就是你们说不的原因。@patrickhoffman我想有些东西正在被比较,这超出了范围。.试试ArrayOfNumber[n-1],因为数组从0开始填充,而你们并没有数到!