Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我的DataGridView出现空引用错误_C#_Datagridview_Nullreferenceexception - Fatal编程技术网

C# 为什么我的DataGridView出现空引用错误

C# 为什么我的DataGridView出现空引用错误,c#,datagridview,nullreferenceexception,C#,Datagridview,Nullreferenceexception,这是我网格视图的求和方法 private double CellSum() { double sum = 0; for (int i = 0; i < dataGridView1.Rows.Count; i++) { double d = 0; Double.TryParse(dataGridView1.Rows[i].Cells[0].Value.ToString(), out d); // runtime error

这是我网格视图的求和方法

private double CellSum()
{
    double sum = 0;
    for (int i = 0; i < dataGridView1.Rows.Count; i++)
    {
        double d = 0;
        Double.TryParse(dataGridView1.Rows[i].Cells[0].Value.ToString(), out d); // runtime error
        sum += d;
    }
    return sum;
}
如何求一列的总和?我记得在这个网站的某个地方拉了这个代码,但它似乎对我不起作用

我只有3列,没有设置任何属性,因此它是默认值。

值可能返回null,这将导致ToString爆炸

请尝试以下方法:

Double.TryParse(Convert.ToString(dataGridView1.Rows[i].Cells[0].Value), out d);
如果要转换的字符串为null,Convert.ToString将返回一个空字符串,而ToString只是抛出一个异常

现在,如果Value为null,那么d应该包含0,这样您就可以保持代码的其余部分不变。

Value可能返回null,这将导致ToString爆炸

请尝试以下方法:

Double.TryParse(Convert.ToString(dataGridView1.Rows[i].Cells[0].Value), out d);
如果要转换的字符串为null,Convert.ToString将返回一个空字符串,而ToString只是抛出一个异常


现在,如果值为null,则d应包含0,这样您就可以保持代码的其余部分不变。

非常感谢:非常感谢: