25
Here are two ways of comparing two 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 returns an integer (-1,0,1) indicating whether the first instance is earlier than, the same as, or later than the second instance.
My question is, why would I use .Compare when I can use relational operators (<,<=,==,>=,>) directly? It seems to me, using .Compare, I need to employ relational operators anyway (at least in the above example; alternatively I could create a switch statement examining cases -1, 0 and 1).
What situations would prefer or require usage of DateTime.Compare()?