[edit] Using the DateTime.GetHashCode Method
The GetHasCode method is very useful in performing comparison operations. If we had two or more dates that we wanted to compare for equality we could not compare the dates directly and get an accurate result. The GetHashCode attempts to get the exact value of any object, not just DateTime objects. It can be reliably compared against other hashes.
- Note: GetHashCode returns an int value
[edit] Syntax
int variable = object.GetHashCode();
[edit] Example 1:
This code will print two different dates and then compare them against their hashes.
using System;
class Program
{
static void Main()
{
DateTime d1 = DateTime.Now;
object d2 = d1;
int hash1 = d1.GetHashCode();
int hash2 = d2.GetHashCode();
Console.WriteLine(d1.ToString());
Console.WriteLine(d2.ToString());
Console.WriteLine(hash1);
Console.WriteLine(hash2);
if (hash1 == hash2)
Console.WriteLine("they are equal");
else
Console.WriteLine("they are not equal");
Console.Read();
}
}
Output:
4/6/2007 8:28:51 PM
4/6/2013 8:28:51 PM
475318923
475318923
they are equal
As you can see d2 is of object type so you cannot simply compare d1 and d2 directly. You must compare their hashes.
<-- DateTime Tutorial
|