I was playing around with code for conversion of `DateTime`to `long` and viceversa.
I found an interesting observation. Below is my code :

```
DateTime dt = new DateTime(123456);
int isEqual  = DateTime.Compare(dt.ToLocalTime(), DateTime.MinValue.ToLocalTime());
if (isEqual == 0)
{
    Console.WriteLine("Date is Equal");
}

```

I debugged and check both the value,

```
dt is {1/1/0001 12:00:00 AM}

```

and

```
DateTime.MinValue is also {1/1/0001 12:00:00 AM}

```

I am wondering then why `isEqual` value is `1` rather than `0`.

When compared both the values `using string.Equals()` method; it returned `false`.

Need a Rationale.