文章目录
C#常用接口-自定义比较器IComparer 接口
在C#中,IComparer<T>
和 IComparer
接口用于定义对象的比较逻辑,以便可以对它们进行排序。这两个接口在功能上相似,但它们在使用泛型方面有所不同。
IComparer<T>
IComparer<T>
是一个泛型接口,定义在 System.Collections.Generic
命名空间中。它要求实现一个方法 Compare(T x, T y)
,该方法比较两个同类型的对象,并返回一个整数来指示一个对象是小于、等于还是大于另一个对象。
public interface IComparer<T>
{
int Compare(T x, T y);
}
实现示例
using System;
using System.Collections.Generic;
public class AgeComparer : IComparer<Person>
{
public int Compare(Person x, Person y)
{
return x.Age.CompareTo(y.Age);
}
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}