比较值类型N的对象的最佳方法是什么?所以我想根据对象的类型进行String,Integer,DateTime等比较。
答案 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);
}