C# 获取NullReferenceException,即使对DataGridView中的最后一行使用n-1

C# 获取NullReferenceException,即使对DataGridView中的最后一行使用n-1,c#,winforms,datagridview,nullreferenceexception,C#,Winforms,Datagridview,Nullreferenceexception,我遇到了一个让我发疯的问题,…哈哈。 在运行时,我得到一个返回的null值,从而得到一个NullReferenceException 我试图获取datagridview最后一行中第一列的内容。 我使用的是RowCount-1,因为datagridview类似于一个数组,它的最后一个值为n-1(索引从0到n-1) 我还对它进行了调试,在跟踪中,它为datagridview中的最后一行获取了正确的行索引,但不知何故,它为特定的单元格值获取了null,这很奇怪,因为它在DB中有一个值 这是我的密码:

我遇到了一个让我发疯的问题,…哈哈。 在运行时,我得到一个返回的null值,从而得到一个NullReferenceException

我试图获取datagridview最后一行中第一列的内容。 我使用的是RowCount-1,因为datagridview类似于一个数组,它的最后一个值为n-1(索引从0到n-1)

我还对它进行了调试,在跟踪中,它为datagridview中的最后一行获取了正确的行索引,但不知何故,它为特定的单元格值获取了null,这很奇怪,因为它在DB中有一个值

这是我的密码:

string newitemID = this.dataGridView_DataEntry.Rows[this.dataGridView_DataEntry.RowCount - 1].Cells["itemID"].Value.ToString();
如果您能为我提供帮助/意见,我将不胜感激


提前感谢。

我会尝试将代码拆分为多行,看看语句的哪一部分抛出了NullReferenceException

var row =this.dataGridView_DataEntry.Rows[this.dataGridView_DataEntry.RowCount - 1];
如果上述行中没有异常,则表示存在最后一行

var column = row.Cells["itemID"];
如果这里有任何异常,那么可能没有称为“itemID”的单元格


希望这有帮助

您确定不是
单元格[“itemID”]
为空吗?您的可能重复项是对的,单元格[“itemID”]返回的是空值。那么,我的问题是,这是怎么回事?因为有一个名为“itemID”的列,并且该行中有一个值,用于特定的单元格/列。谢谢,在按照您的建议更改行之后:var row=this.dataGridView_DataEntry.Rows[this.dataGridView_DataEntry.RowCount-1];字符串newitemID=row.Cells[“itemID”].Value.ToString();似乎是row.Cells[“itemID”].Value.ToString();当我查看VS中抛出的异常中的更多详细信息时,返回的是null,它显示“System.NullReferenceException:对象引用未设置为对象的实例”。因此我认为没有名为itemID的列。我想,您的问题现在解决了吗?有一个名为itemID的列。不幸的是,这个问题仍然没有得到解决。我发现奇怪的是,当我将其更改为“RowCount-2”以查看它是否可以获取datagridview中倒数第二个项的itemID值时,它起了作用。