Вот два способа сравнения двух DateTimes:
DateTime now = DateTime.Now;
DateTime then = new DateTime(2008, 8, 1);
// Method 1
if (DateTime.Compare(then, now) < 0)
// ...
// Method 2
if (then < now)
// ...
.Compare
возвращает целое число (-1,0,1), указывающее, был ли первый экземпляр раньше, чем, то же самое, или позже, чем второй.
Мой вопрос: зачем мне использовать .Compare
, когда я могу использовать реляционные операторы ( <
, <=
, ==
, > =
, >
) напрямую? Мне кажется, что с помощью . Сравните
, мне все равно нужно использовать реляционные операторы ( по крайней мере, в приведенном выше примере; в качестве альтернативы я мог бы создать оператор switch, проверяющий случаи -1, 0 и 1).
В каких ситуациях предпочтительнее или требуется использование DateTime.Compare ()
?