C# 如何检查列表中的值是否存在(超出范围之前)
我有以下清单:C# 如何检查列表中的值是否存在(超出范围之前),c#,list,next,C#,List,Next,我有以下清单: IList<Modulo> moduli = (from Modulo module in Moduli select module).ToList(); 但它不起作用 那么: if (i + 1 < moduli.Count) { var modulo = moduli[i+1]; // this is safe } 检查后,ArgumentOutOfRangeException将立即抛出。检查方法与检查循
IList<Modulo> moduli = (from Modulo module in Moduli
select module).ToList();
但它不起作用 那么:
if (i + 1 < moduli.Count)
{
var modulo = moduli[i+1]; // this is safe
}
检查后,ArgumentOutOfRangeException将立即抛出。检查方法与检查循环条件相同:
if(i + 1 < moduli.Count) // it exists
if(i+1
注意如何
for(int i=0; i <= (moduli.Count - (moduli.Count % 2)); i=i+2)
{
}
for(inti=0;iLinq可以为您做这项工作:)
IList moduli=moduli。其中((项目,索引)=>((索引%2)==0))。
托利斯特();
非常简单:
for(int i=0; i<moduli.Count - 2; i=i+2) { }
for(int i=0;iTo首先,将循环条件更改为i,然后在循环外部添加一个额外的if(moduli[moduli.Length-1]!=null){}为什么在循环中添加额外的if检查,这会降低性能?
if(i + 1 < moduli.Count) // it exists
for(int i=0; i <= (moduli.Count - (moduli.Count % 2)); i=i+2)
{
}
IList<Modulo> moduli = Moduli.Where((item, index) => ((index % 2) == 0)).
ToList();
for(int i=0; i<moduli.Count - 2; i=i+2) { }