我试图做一个程序,它会找出哪一个数组的一半加在一起是更大的范围,但不断收到这个错误,我似乎无法找出原因系统索引出的C#
“尝试从数组后部开始工作时,第31行的”平均Mark.exe“中出现”System.IndexOutOfRangeException“类型的未处理异常。
我对c#很新,想到我在做什么应该工作? 非常感谢!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace most_frequent_int
{
class Program
{
static void Main(string[] args)
{
halfCheck(new int[] {1,1,2,3});
}
static void halfCheck(int[] checkArray)
{
int fHalf = 0;
int sHalf=0;
//even method
if (checkArray.Length % 2 == 0)
{
for (int i= 0;i<checkArray.Length/2;i++)//check first half even
{
fHalf = fHalf + checkArray[i];
}
for (int i=checkArray.Length;i>checkArray.Length/2;i--)
{
sHalf = sHalf + checkArray[i];
Console.WriteLine(sHalf);
}
if (fHalf > sHalf)
{
Console.WriteLine("The first half is bigger");
}
else
{
Console.WriteLine("The second half is bigger");
}
Console.ReadLine();
}
//odd method
else
{
Console.WriteLine("odd");
}
}
}
}
调试器告诉你什么时候你通过代码? –
@哈维拉什你可以评论错误发生的地方 –
http://stackoverflow.com/questions/20940979/what-is-an-indexoutofrangeexception-and-how-do-i-fix-it调试它并修复错误 –