试图找到“;空”;但是可以';t——NullReference异常
本文关键字:异常 NullReference | 更新日期: 2023-09-27 18:27:10
我希望它能够接受将null作为返回值,但在提取不存在的数据时,我不断收到nullexception错误。。。是的,我理解这听起来怎么样。
基本上,如果在某一列中找不到数据,则创建一行。
正在获取null error where子句,因为它找不到值。。。。我如何克服这个问题,并允许"where"在其行中不出现错误?
var row = RGV.Rows.Cast<DataGridViewRow>()
.Where(r => r.Cells["firstcolumn"].Value.ToString() == please)
.First();
if (row != null)
{
rowIndex = row.Index;
RGV.Rows[rowIndex].Cells[secondcolumn].Value = help;
RGV.Refresh();
}
else
{
RGV.Rows.Add();
int indexNew = RGV.Rows.Count;
RGV.Rows[indexNew].Cells["firstcolumn"].Value = please;
RGV.Rows[indexNew].Cells["secondcolumn"].Value = help;
RGV.Refresh();
}
使用FirstOrDefault()
而不是First()
var row = RGV.Rows.Cast<DataGridViewRow>()
.Where(r => (string)r.Cells["firstcolumn"].Value == please)
.FirstOrDefault();
请阅读"何时使用。首先和何时使用。使用LINQ时使用FirstOrDefault?"?
最初的问题发布已经有一段时间了,但以下是对我有效的方法。我希望这能帮助其他人。首先检查该值是否为null。然后尝试铸造并检查值
var query = from DataGridViewRow row in dgv.Rows
where row.Cells[CATEGORY].Value != null
where row.Cells[CATEGORY].Value.ToString() == categoryName
select row;