C#保存循环错误

时间:2010-12-14 23:14:05

标签: c# loops

我收到错误“对象引用未设置为对象的实例。”尝试使用此方法保存列表框中的所有项目时。

  writer = new StreamWriter(saveBox.FileName);
   foreach (var item in LstResults.Items.Cast<object>().Where(item =>  string.IsNullOrEmpty(item.ToString())))
                    {
                        writer.Write(item.ToString().Trim() + ",");
                    }
                    writer.Close();

我做错了什么?该清单持有约80k物品。

2 个答案:

答案 0 :(得分:5)

不应该是

item =>  !string.IsNullOrEmpty(item.ToString())

这个循环有意义吗?如果您要撤回具有null ToString()结果的项目,则可以在空对象上调用Trim

答案 1 :(得分:1)

以下是您的嫌疑人:

  • saveBox
  • item(ListBox中的一个项目)
  • item.ToString的结果(非常不可能)

如果任何ListBox的项为null,则在第一次ToString调用时会出现异常。