我有这个列表:
IList<Modulo> moduli = (from Modulo module in Moduli
select module).ToList();
然后我用 for 循环它(注意 i=i+2):
for(int i=0; i<moduli.Count; i=i+2)
{
}
现在,我必须检查 moduli[i+1] 是否存在(因此,下一个元素),否则我将得到一个 System.ArgumentOutOfRangeException:索引超出范围。必须为非负数且小于集合的大小。
。
如何检查?试过:
if(moduli[i+1] != null)
{
}
但它不起作用!
最佳答案
检查它的方式与检查循环条件的方式相同:
if(i + 1 < moduli.Count) // it exists
注意 <
而不是 <=
,这是您原始代码中的一个错误。
关于c# - 如何检查列表中的值是否存在(在超出范围之前),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8914051/