0

Добрый день! Вот такую ошибку выдает когда я запускаю программу.

maxDate = string.Format("where s.dt_create > '{0}'", 
    Convert.ToDateTime(dt.Select().OrderByDescending(x => x["shedule_dt_crt"])
      .FirstOrDefault()["shedule_dt_crt"].ToString()).ToString("yyyy-MM-ddTHH:mm:ss.fff "));
  • Ну, у вас FirstOrDefault вполне может выдавать null. – VladD Jun 28 '16 at 07:10
  • @VladD А что можно сделать, чтобы решил проблему? – user210352 Jun 28 '16 at 07:14
  • Получить результат FirstOrDefault в переменную и явно проверить на null? – VladD Jun 28 '16 at 07:15
  • вам самому удобно читать свой код? как посоветовал Вам @VladD вынесите получение dt из базы данных наверх, где предварительно обработайте если пришел null. а что за строку вы таким образом формируете? уж не sql запрос ли? – Bald Jun 28 '16 at 07:20
  • Точно, это ж SQL! Bobby tables жив :) – VladD Jun 28 '16 at 07:25
  • @VladD, null может быть не только результат FirstOrDefault, в случае когда строк вообще нет, но и само значение поля, тогда падать будет уже ToString – Grundy Jun 28 '16 at 07:46
  • @Grundy: Ага, а ещё dt может быть null. Поэтому комментарий, а не ответ :) – VladD Jun 28 '16 at 07:54
  • Можно писать типа FirstOrDefault()?["key"] тогда если метод вернет null то не будет исключения, а переменной maxDate присвоится null – Vladimir Paliukhovich Jun 28 '16 at 08:32
  • @VladimirPaliukhovich FirstOrDefault()?["shedule_dt_crt"].ToString()) так? – user210352 Jun 28 '16 at 10:39
  • @VladD подскажите ,пожалуйста, в моём коде) – user210352 Jun 28 '16 at 10:40
  • Да, почему нет) Это быстрая проверка на null, вернет null если объект null, или поле объекта если объект не null – Vladimir Paliukhovich Jun 28 '16 at 10:41
  • Только внимательно, смотрите чтобы dt не было null тоже. – Vladimir Paliukhovich Jun 28 '16 at 10:42
  • @VladimirPaliukhovich Только назначение, вызов, увеличение, уменьшение, и новые выражения объекта могут быть использованы в качестве заявления ошибка такая. на ["shedule_dt_crt"].ToString()) – user210352 Jun 28 '16 at 11:07
  • не понял как исправить ошибку. Подскажите пожалуйста( – user210352 Jun 28 '16 at 12:44

0 Answers0