C# 索引超出范围异常
我试图通过减去每个循环中的初始化值,在数组中放入一个整数。这段代码似乎适合我,但编译器总是声称“索引超出了数组的界限”。我在这里做错了什么,特别是在itr方面C# 索引超出范围异常,c#,arrays,loops,C#,Arrays,Loops,我试图通过减去每个循环中的初始化值,在数组中放入一个整数。这段代码似乎适合我,但编译器总是声称“索引超出了数组的界限”。我在这里做错了什么,特别是在itr方面 static void Main() { int itr = 0; int[] arr = {}; for(int i = 2305; i > 0; i-=576) { arr[itr] = i; itr+=1; }
static void Main()
{
int itr = 0;
int[] arr = {};
for(int i = 2305; i > 0; i-=576)
{
arr[itr] = i;
itr+=1;
}
Console.ReadLine();
}
此行创建了一个空数组(因此
长度
为0):
您应该为数组指定大小。在您的情况下,大小可以是:
int[] arr = new int[2305 / 576 + 1];
整数数组“arr”的长度为0; 因为没有设置大小或值,所以数组根本没有值 这是一个可以工作的迭代
int[] arr = new int[ 1000 ];
int itr = 2305;
for ( int i = arr.Length-1; i > -1; i-- ) {
itr -= 576;
arr[ i ] = itr;
}
您认为阵列的大小/长度是多少?(提示:检查
arr.Length
的值)数组大小是4,但在循环中是5?我试图在每个循环中将索引减去1,但仍然不起作用“数组大小为4”你怎么知道的?(提示:根据您问题中的代码,它不是…)
int[] arr = new int[ 1000 ];
int itr = 2305;
for ( int i = arr.Length-1; i > -1; i-- ) {
itr -= 576;
arr[ i ] = itr;
}