views:

58

answers:

3

What is the best way to compare objects of value type N? So I want to do a String, Integer, DateTime, etc comparison depending on the type of the object.

+7  A: 
IEqualityComparer<T>

Where T is the type you want to compare.

IEqualityComparer(T) Interface (System.Collections.Generic)

...you could also fall back on Object.Equals() and ValueType.Equals()

Justin Niessner
+1  A: 

Every simple types implements IComparable interface

Nagg
A: 
static void Main(string[] args)
{

    Console.WriteLine(Compare<int>(1, 3));
    Console.WriteLine(Compare<string>("wil", "test"));
    Console.WriteLine(Compare<DateTime>(DateTime.Now, 
        DateTime.Now.AddDays(-1)));
    Console.ReadKey();
}

static int Compare<T>(T a, T b) where T : System.IComparable
{
    System.IComparable comparer = a;
    return comparer.CompareTo(b);
}
Wil P