使用比较来比较

时间:2018-06-03 16:59:50

标签: c# .net comparison icomparable

我知道如何将Comparison传递给排序。

我想比较两个对象。我怎样才能做到这一点?

该类已实现IComparible。这是为了进行自定义比较。

1 个答案:

答案 0 :(得分:1)

比较是一个委托,它定义了比较方法应该如何返回以及应该接收哪些参数。在这个sample中,它创建了CompareDinosByLength方法来实现比较委托。

如果要比较对象,则应按以下方式实现方法:

public static int CompareObjects(MyClass a, MyClass b) {
    if (a < b) { // Make your comparison logic here.
         return -1;
    } else if (a == b) {
         return 0;
    } else {
         return 1;
    }
}

创建此方法的唯一限制是返回值必须遵循此模式(当x y时为+1)。

要添加到sort方法,您只需将方法的名称作为参数传递给Sort()方法:

list.Sort(CompareObjects);

C#将为你完成剩下的工作。