gpt4 book ai didi

c# - 对于每个循环NullReferenceException

转载 作者:太空宇宙 更新时间:2023-11-03 17:41:07 25 4
gpt4 key购买 nike

我使用foreach循环,使用以下代码从datagridview中获取数据。

foreach (DataGridViewRow row in this.dataGridMultiSubmit.Rows)
{
Model = row.Cells[0].Value.ToString();
Module = row.Cells[1].Value.ToString();
Section = row.Cells[2].Value.ToString();
FunctionValue = row.Cells[3].Value.ToString();
NewValue = row.Cells[4].Value.ToString();
DefaultValue = row.Cells[5].Value.ToString();
Description = row.Cells[6].Value.ToString();

MessageBox.Show(Model + Module + Section + FunctionValue + NewValue + DefaultValue + Description);
}


它正确地返回了消息框中的所有行,但是当它通过所有行运行时,它给我的NullReferenceException未处理,我该如何解决?

最佳答案

如果在遍历所有行时这些Value中的任何一个是null,则对ToString()的调用将引发异常。

请尝试:

Model = Convert.ToString(row.Cells[0].Value);


方法 Convert.ToString()进行附加检查。


如果值为 null,则返回一个空字符串。
如果不是 null,则执行 ToString()




从您的评论中,您还希望确保不要迭代显示在网格底部的新行。有一个名为 IsNewRow的内置属性。


  获取一个值,该值指示该行是否为新记录的行。


foreach (DataGridViewRow row in this.dataGridMultiSubmit.Rows)
{
if (row.IsNewRow)
continue; // skip row, continue on to the next iteration

...
}

关于c# - 对于每个循环NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21758413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com