【发布时间】:2017-03-10 08:32:51
【问题描述】:
我有一个数组。它有例如 10 行。 我需要检查一个标志。如果 flag 的值为 false,则转到数组 1,如果标志为 true,则转到数组 2。我正在尝试这样的事情。
if (lista2[i].FLG_FALHA == true)
{
listaInc[c] = lista2[i];
i++;
c++;
}
else
{
listaAlr[o] = lista2[i];
o++;
i++;
}
这是我声明数组的地方。
List<AcompanhamentoSiltIncDTO> lista2 = new List<AcompanhamentoSiltIncDTO>();
List<AcompanhamentoSiltIncDTO> listaInc = new List<AcompanhamentoSiltIncDTO>();
List<AcompanhamentoSiltIncDTO> listaAlr = new List<AcompanhamentoSiltIncDTO>();
我收到这个错误,好像数组没有初始化。
"{"索引超出范围,它应该是非负数并且小于集合的大小。 \r\nName参数:索引“}”
【问题讨论】:
-
那些不是数组而是列表。使用 Add() 方法。
-
另外,您将在 then 和 else 分支中添加到 same 列表中。使用更好的变量命名可能不会犯的错误。
-
当你得到一个错误告诉你一个索引需要小于集合的大小时,检查两件事:索引的值,以及索引的大小收藏。至少其中一个不是你想象的那样。
-
我会试试,它的两个列表我试错了,我会在上面更正。