C#中的索引超出范围

时间:2015-09-16 07:02:35

标签: c# exception range

我尝试调试此代码,但我无法解决此问题。 如果我使用此代码,我的WF运行:

try 
{                       

    rtxttdwhat.Text = dataGridView1.CurrentRow.Cells[8].Value.ToString();
    lbtdtime1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString() +
            ":" + dataGridView1.CurrentRow.Cells[0].Value.ToString();

另一方面,它显示INDEX OUT OF RANGE:

int a, b;
a = 1;
b = a+1;
try 
{
    if (int.Parse(dataGridView1.Rows[a].Cells[1].Value.ToString()) == int.Parse(lbhour.Text) &&             
        int.Parse(dataGridView1.Rows[a].Cells[0].Value.ToString()) == int.Parse(lbmin.Text))
    {
        a = a + 1;
        b = a + 1;
    }
    rtxttdwhat.Text = dataGridView1.Rows[a].Cells[8].Value.ToString();
    lbtdtime1.Text = dataGridView1.Rows[a].Cells[1].Value.ToString() + 
            ":" + dataGridView1.Rows[a].Cells[0].Value.ToString();

2 个答案:

答案 0 :(得分:1)

我不是100%肯定你在做什么,尤其是b?但你可以试试这个:

int RowCount = dataGridView1.Rows.Count;
if(a <= RowCount)
{
     //Youre Code
}
else
{
    //Out of Range
}

答案 1 :(得分:0)

您好此链接可能对您有用 IndexOutOfRangeException

在访问代码之前,先修改代码并检查行和单元格计数。