在我的自定义排序算法中,我需要比较存储为数组中的对象的数字类型。我们可以将SByte,Double,Int32等值混合在一个数组中。如何在IComparer实现中比较该数组的两个值?
一个例子。我们假设我们有两个数值:
object var1 = (sbyte)-8;
object var2 = (double)123.456;
如果像下面这样的代码有效,那就太好了,但它失败了:
IComparable cmp1 = var1 as IComparable;
IComparable cmp2 = var2 as IComparable;
MessageBox.Show(cmp1.CompareTo(cmp2).ToString());
如何比较.NET 2.0中的两个盒装数值?