4

比较值类型 N 的对象的最佳方法是什么?所以我想根据对象的类型进行字符串、整数、日期时间等比较。

4

3 回答 3

7
IEqualityComparer<T>

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

IEqualityComparer(T) 接口 (System.Collections.Generic)

...你也可以依靠Object.Equals()ValueType.Equals()

于 2010-04-14T17:49:00.443 回答
1

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

于 2010-04-14T17:51:41.920 回答
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);
}
于 2010-04-14T18:01:36.720 回答