NullReferenceException in string.IsNullOrWhiteSpace() and string.IsNullOrEmpty()
我正在检查列中可能为空/空的单元格值,因此需要避免使用
我该怎么做呢,因为即使有了
以下是我使用的部分代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | s ="Total =" + dataGridView1.Rows[0].Cells.Count + "0 =" + dataGridView1.Rows[0].Cells[0].Value.ToString() + "/n 1 =" + dataGridView1.Rows[0].Cells[1].Value.ToString() + "/n 2=" + dataGridView1.Rows[0].Cells[2].Value.ToString() + "/n 3 =" + dataGridView1.Rows[0].Cells[3].Value.ToString() + "/n 4=" + dataGridView1.Rows[0].Cells[4].Value.ToString() + "/n 5 =" + dataGridView1.Rows[0].Cells[5].Value.ToString() + "/n 6=" + dataGridView1.Rows[0].Cells[6].Value.ToString() + "/n 7 =" + dataGridView1.Rows[0].Cells[7].Value.ToString(); if (string.IsNullOrEmpty(dataGridView1.Rows[0].Cells[8].Value.ToString())) { } else { s +="/n 8 =" + dataGridView1.Rows[0].Cells[8].Value.ToString(); } |
我试过那些方法,我试过把它放在
很多地方的代码都会抛出这个异常。
1 2 3 4 | dataGridView1.Rows[0] //here .Cells[0] //here .Value //and here .ToString() |
我相信你不需要只需输入:
1 | "..."+ dataGridView1.Rows[0].Cells[0].Value |
在你的
1 | if (string.IsNullOrEmpty(dataGridView1.Rows[0].Cells[8].Value as string)) |
许多人不知道如何诊断
1 | dataGridView1.Rows[0].Cells[3].Value.ToString() |
其中的许多部分可能是
1 2 3 4 5 6 | var a = dataGridView1.Rows; var b = a[0]; var c = b.Cells; var d = c[3]; var e = d.Value; var f = e.ToString(); |
如果
你只需在你的特定情况下,找出其中哪一个是
当你找到一个
我认为在
您可以添加一行额外的代码来检查和处理空的大小写。
1 2 | var value = dataGridView1.Rows[0].Cells[0].Value; string s = (value == null ? string.Empty : value.ToString()); |
如果值为空,则不会计算ToString(),并且程序不能引发NullReferenceException。