我已经尝试在每个月计算一年后创建一些增加数量的列表。
例如,在第1个月number = 1
,第2个月number = 3
,第3个月number = 5
。
计算结果如下number[i] = i + number[i - 1]
。哪个i
是月份。
我想显示所有列表
Month[1] = 1,
Month[2] = 3,
Month[3] = 5,
Month[4] = 7,
Month[5] = 9,
Month[6] = 11,
Month[7] = 13,
...
Month[12] = 23
这是我的控制器
for (i = 1; i <= 12; i++)
{
List<int> number = new List<int>();
if (i <= 12)
{
number[i] = a(i, number[i - 1]);
}
else
{
//something else
}
}
这是我的a
功能
public int a(int month, int number)
{
try
{
a = month + number;
}
catch (Exception ex)
{
throw ex;
}
return a;
}
但是,执行时我得到了这个错误
指数超出范围。必须是非负数且小于集合的大小。
我已将控制器更改为
for (i = 0; i <= 12; i++)
{
//...
}
但是有同样的错误。有人能帮我吗?为什么我收到此错误?
答案 0 :(得分:0)
试试这个
int[] number = new int[13];
for (int i = 1; i <= 12; i++)
{
if (i <= 12)
{
number[i] = a(i, number[i - 1]);
}
else
{
//something else
}
}
int j = 1;
List<int> item = new List<int>();
foreach (var a in number)
{
if (j <= 12)
{
item.Add(a);
}
else
{
break;
}
j++;
}
public int a(int month, int number)
{
int a = 0;
try
{
a = month + number;
}
catch (Exception ex)
{
throw ex;
}
return a;
}