IComparer 接口
https://docs.microsoft.com/zh-cn/dotnet/api/system.collections.icomparer?view=netcore-3.1
Visual Basic.NET定义了两个用于排序列表的接口:IComparable和IComparer。这两个接口的作用相同,都用来比较两个对象是否相等。实现IComparer或者IComparable接口,都允许通过调用System.Array类的重载Sort方法来排序数组。
这两个接口的区别为:
- 实现IComparable接口允许基于多个字段排序。
- 实现IComparer口允许根据不同的字段或根据多个字段进行排序。 ,
IComparer接口为类型实现多种排序支持提供了一种标准的方式。要实现IComparer接口来排序,可以创建一个或多个嵌套的类。每个嵌套类都必须实现IComparer接口。
IComparer接口定义了一个函数方法Compare。该方法与IComparable接口定义的CompareTo方法的作用相同。但是,Compare方法需要两个参数,其声明如下:
Function Compare (ByVal x As Objcct,ByVal y As Object ) As Integer
Compare方法接收两个参数,它们都是System.Object类型,包含用于比较的两个对象。如果x的值小于y,则返回值小于0。如果x和y相等,则返回值等于0。如果x大