C# 入站循环控制变量超出范围?
您好:)我是新手程序员,请帮助我解决错误“索引超出了数组的界限”我想我考虑的是,我尝试使用的lcv值高于数组大小的值。我真的很欣赏这个解决方案的简单性C# 入站循环控制变量超出范围?,c#,C#,您好:)我是新手程序员,请帮助我解决错误“索引超出了数组的界限”我想我考虑的是,我尝试使用的lcv值高于数组大小的值。我真的很欣赏这个解决方案的简单性 static void Main(string[] args) { Console.WriteLine("enter a number"); /**********************************************************/
static void Main(string[] args)
{
Console.WriteLine("enter a number");
/**********************************************************/
string inputString = Console.ReadLine();
int inputNum;
int.TryParse(inputString, out inputNum);
int[] divisorsArray = new int[inputNum -2];
int[] filteredArray = new int[] { };
int divisor = 1;
int yum = 0;
/**********************************************************/
for (int i = 0; i < inputNum -2; i++)
{
if ( divisor != inputNum && inputNum % divisor == 0)
divisorsArray[i] = divisor;
Console.WriteLine(divisorsArray[i]);
divisor++;
if (divisorsArray[i]>0)
{
filteredArray[yum] = divisorsArray[i];
yum++;
}
}
Console.ReadKey();
}
static void Main(字符串[]args)
{
Console.WriteLine(“输入一个数字”);
/**********************************************************/
string inputString=Console.ReadLine();
int-inputNum;
int.TryParse(inputString,out inputNum);
int[]除数数组=新的int[inputNum-2];
int[]filteredArray=新int[]{};
整数除数=1;
int=0;
/**********************************************************/
对于(inti=0;i0)
{
filteredArray[yum]=除数数组[i];
yum++;
}
}
Console.ReadKey();
}
它的行filteredArray[yum]=divisiorsaray[i]
这是不可能的,因为您已将fiteredArray
初始化为空数组。像使用除数数组一样初始化它,您应该会做得很好 filteredArray
为空,大小为0。您可以将filteredArray
初始化为空。数组的大小无法更改,因此它始终为空。然后,您尝试访问空数组中的索引0等。副本的可能副本应该可以回答您的任何问题:-)@John非常感谢。在这种情况下,我不能这样做,因为我不知道有多少值将进入fiteredArray。那么,数组不是您的正确选择。或许可以使用列表
?