【问题标题】:Index was out of range. Must be non-negative and less than the size of the collection error指数超出范围。必须是非负数且小于集合错误的大小
【发布时间】:2013-12-04 00:04:49
【问题描述】:

您好,我在运行这段代码时遇到此错误,无法弄清楚。欢呼:

      DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        try
        {
            for (int i = 0; i <= (DataGridView1.Rows.Count); i++)
            {

                if (DataGridView1.Rows[i].Cells[2].ToString().Equals(returnID))
                {
                   SignIn_Time(updateCmd, OLEDB_Connection, varName, varID, varTime);
                   break;
                }
            }
        }
        catch
        {

【问题讨论】:

  • 将“i
  • 除了其他人所说的,错误信息的意思就是它所说的:i is too large.

标签: c# ms-access datagridview rows


【解决方案1】:

它应该小于计数,不等于,因为从零开始的索引:

i < DataGridView1.Rows.Count

【讨论】:

    【解决方案2】:

    错误很清楚发生了什么:

    [index] 非负数且小于集合的大小。

    将循环头中的&lt;=替换为&lt;

    for (int i = 0; i < (DataGridView1.Rows.Count); i++) {
        ...
    }
    

    此外,您需要确保每一行至少有三个单元格,因为您正在访问一行中的第三个单元格:Cells[2]

    【讨论】:

      猜你喜欢
      • 2012-02-11
      • 1970-01-01
      • 2012-05-15
      相关资源
      最近更新 更多