比较值类型N的对象

时间:2010-04-14 17:45:05

标签: .net compare value-type

比较值类型N的对象的最佳方法是什么?所以我想根据对象的类型进行String,Integer,DateTime等比较。

3 个答案:

答案 0 :(得分:7)

IEqualityComparer<T>

其中T是您要比较的类型。

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

...你也可以回到Object.Equals()ValueType.Equals()

答案 1 :(得分:1)

每个简单类型都实现IComparable接口

答案 2 :(得分:0)

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);
}