是否可以使用 iComparer 使用对象中的两个值对列表进行排序?
我有一个基于 value1 排序的自定义比较器类。但是对 value1 和 value2 进行排序的最佳方法是什么?
按 value2 然后 value1 对列表进行排序会起作用吗?
最佳答案
您的 IComparer
类应该处理它。例如:
public class ThingComparer : IComparer
{
public int Compare(object x, object y)
{
// null- and type-checking omitted for clarity
// sort by A, B, and then C
if (x.A != y.A) return x.A.CompareTo(y.A);
if (x.B != y.B) return x.B.CompareTo(y.B);
return x.C.CompareTo(y.C);
}
}