使用linq未将对象引用设置为列表的实例

时间:2012-12-20 13:56:21

标签: c# linq list webforms label

使用文件上传c#webform将一些记录插入数据库。我得到的任何错误我都会添加到列表中。插入所有记录后,我使用linq查看错误列表是否包含任何内容(如果有)。我将它写入另一个列表,然后在此列表中预先记录我在屏幕上的标签中写出错误。获取linq中的错误以列出Object未设置为对象的实例。

List<Cups> errors = FDloads.Where(c => c.DataErrors.Count > 0).ToList();

        if (errors.Count > 0)
        {
            Label1.Text = "Errors:";
            foreach (Cups err in errors)
            {
                Label1.Text += "<br/>" +  err.Lion + "," + err.Value;
            }
        }
        else
        {
            Label1.Text = "Success.";
        }

当我将列表FDloads中的错误计数写入新列表并且如果它包含任何内容时,如果不执行此操作,则会在linq行写入错误...

2 个答案:

答案 0 :(得分:0)

可能cc.DataErrors为空。在解除引用之前尝试测试null:

List<Cups> errors = FDloads
    .Where(c => c != null && c.DataErrors != null && c.DataErrors.Count > 0)
    .ToList();

答案 1 :(得分:0)

请尝试:

List<Cups> errors = FDloads.Where(c => c.DataErrors != null && c.DataErrors.Count > 0).ToList();