C # Сохранение в цикле ошибки - PullRequest
0 голосов
/ 15 декабря 2010

Я получаю ошибку «Ссылка на объект не установлена ​​на экземпляр объекта». при попытке сохранить все элементы из списка с помощью этого метода.

  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();

Что я делаю не так? Список содержит около 80 тыс. Предметов.

Ответы [ 2 ]

5 голосов
/ 15 декабря 2010

Не должно ли это быть

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

чтобы этот цикл имел смысл? Если вы извлекаете предметы, которые имеют null ToString() результат, вы затем вызываете Trim для нулевого объекта.

1 голос
/ 15 декабря 2010

Следующие подозреваемые:

  • saveBox
  • item (один из элементов в ListBox)
  • результат item.ToString (очень маловероятно)

Если какой-либо из элементов ListBox имеет значение null, вы получаете исключение при первом вызове ToString.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...