Функция сравнения дат с нулевым значением — лучшая практика. Найдите минимум три датыC#

Место общения программистов C#
Ответить
Anonymous
 Функция сравнения дат с нулевым значением — лучшая практика. Найдите минимум три даты

Сообщение Anonymous »

Сценарий: сравнить, чтобы найти по заданным трем датам, допускающим значение NULL.

Уже работающее решение: сравнить их с помощью обычного тернарного оператора (?), но код получается слишком длинным для трех дат, и если позже в будущем будет добавлена ​​четвертая дата, то код будет отстойным. Выглядит некрасиво, но работает.

Код: Выделить всё

(firstdate == null
? ((seconddate == null
? (thirddate == null ? null : thirddate)
: (thirddate == null ? seconddate : ((seconddate < thirddate) ? seconddate : thirddate))) == null
? null
: (seconddate == null
? (thirddate == null ? null : thirddate)
: (thirddate == null ? seconddate : ((seconddate < thirddate) ? seconddate : thirddate))))
: ((seconddate == null
? (thirddate == null ? null : thirddate)
: (thirddate == null ? seconddate : ((seconddate < thirddate) ? seconddate : thirddate))) == null
? firstdate
: ((firstdate < result)
? firstdate
: (seconddate == null
? (thirddate == null ? null : thirddate)
: (thirddate == null ? seconddate : ((seconddate < thirddate) ? seconddate : thirddate))))))
Кто-нибудь решал эту проблему раньше и работал с датами, допускающими значение NULL? Может ли кто-нибудь поделиться передовым опытом с примерами?

Спасибо.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»