对于C#中的循环错误

时间:2012-12-03 01:34:09

标签: c#

我试图运行这个for循环来填充数据网格视图中的某个列但是给出错误“索引超出范围。必须是非负的且小于集合的大小。 参数名称:索引“

              for (int i = 0; i < noofloops; i++)
              {
                  dgroute.Rows[i].Cells[0].Value ="Hey";
              }

我得到了一些新的附加信息......这里是整个代码我真正想要做的是我想将datepicker1的日期变为datepicker2。 ive减去date1和date2以获得2个日期的差异,并循环它以显示datagridview中date1和date2之间的所有特定日期

 private void btnOK_Click(object sender, EventArgs e)
        {
              DateTime A = dtFrm.Value;
              DateTime B = dtTo.Value;
              TimeSpan ts = B - A;
              int days = ts.Days;




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

                      dgroute.Rows[i].Cells[0].Value ="Hey";

                  }

              }
        }

3 个答案:

答案 0 :(得分:1)

请尝试将循环更改为:

for (int i = 0; i < dgroute.Rows.Count; ++i)
{
    dgroute.Rows[i].Cells[0].Value ="Hey";
}

答案 1 :(得分:1)

考虑:

          for (int i = 0; i < noofloops && i < dgroute.Rows.Count; i++)
          {
              dgroute.Rows[i].Cells[0].Value ="Hey";
          }

您最有可能在dgroute.Rows结束时编制索引。

答案 2 :(得分:0)

试试这个

for (int i = 0; i < dgroute.Rows.Count -1; ++i)
{
    dgroute.Rows[i].Cells[0].Value ="Hey";
}