我试图将名为“UWeights”的数组划分为小部分并将它们存储到列表列表中。每个部分的大小存储在名为“Noofelement”的数组中 所以我为执行此任务编写了以下代码,但是有一个异常被解雇了这个标题“索引超出范围。必须是非负的且小于集合的大小”但我不知道是什么问题。
List<List<int>> unknownvalues=new List<List<int>>();
int stindx = 0;
int loopiteration = 0;
for (int i = 0; i < 4; i++)
{
int nofelement = Noofelement[i];
while (loopiteration < nofelement)
{
unknownvalues[i] = new List<int>();
unknownvalues[i].Add((int)UWeights[stindx]);
loopiteration++;
stindx++;
}
loopiteration = 0;
}
this is the exception,它发生在列表列表中 stindx,Noofelement和UWeights是正确的
这是定义列表列表并添加到列表列表的正确方法吗?
List<List<int>> unknownvalues=new List<List<int>>();
unknownvalues[i] = new List<int>();
unknownvalues[i].Add((int)UWeights[stindx]);
任何帮助
提前致谢
答案 0 :(得分:1)
unknownvalues
正在初始化为空列表,并且没有任何内容添加到其中,因此i
将始终位于列表中的值范围之外。
您可以使用unknownvalues.Add(new List<int>())
代替unknownvalues[i] = new List<int>()
。