做C#项目的时候遇到的这个问题System.ArgumentOutOfRangeException:“索引超出范围。必须为非负值并小于集合大小。 Arg_ParamName_Name”
后来通过同学指导以及自己上网查了一下,明白了出现索引超出范围的两种原因:
1:比如一个循环 for (int i = 1; i < list.Count; i++){}
list.Count小于0,这样就会出现索引超出范围,可以在循环上加一个判断if(list.Count > 0){}
2:在获取数据时,数据库可能没有一个数据而导致出现该异常。比如代码里面txtName.Text根本没有获取到对应数据,而在页面上展示的时候出现了list[0].UserName,这样也会报错。
而我会出现这个错误也是第二种原因,在获取数据的时候,数据库没有这个数据,或者说是数据被自己修改后不一样且不对应了。