System.ArgumentOutOfRangeException:“索引超出范围。必须为非负值并小于集合大小。 Arg_ParamName_Name”

       做C#机房重构的时候遇到的这个问题System.ArgumentOutOfRangeException:“索引超出范围。必须为非负值并小于集合大小。 Arg_ParamName_Name”

System.ArgumentOutOfRangeException:“索引超出范围。必须为非负值并小于集合大小。 Arg_ParamName_Name”_第1张图片

后来通过同学指导以及自己上网查了一下,明白了出现索引超出范围的两种原因:

1:比如一个循环 for (int i = 1; i < Model.detailsModels.Count; i++){}

Model.detailsModels.Count小于0,这样就会出现索引超出范围,可以在循环上加一个判断if(Model.detailsModels.Count > 0){}

2:在获取数据时,数据库可能没有一个数据而导致出现该异常。比如控制器里面Model.detailsModels根本没有获取到对应数据,而在页面上展示的时候出现了该Model,这样也会报错。

而我会出现这个错误也是第二种原因,在获取数据的时候,数据库没有这个数据,或者说是数据被自己修改后不一样且不对应了。

你可能感兴趣的:(C#)