1.开发过程中,会遇到OrderBy/OrderByDescending排序无法满足的情况,此时就需要自定义排序,按照想要的排序规则取排序,比如订单的状态等等。
2.自定义泛型比较器代码如下:
/// <summary>
/// 自定义泛型比较器(用于自定义排序)
/// </summary>
public class CustomComparer<T> : IComparer<T>
{
/// <summary>
/// 排好的排序列表
/// </summary>
private List<T> _preferenceList;
/// <summary>
/// 构造函数
/// </summary>
/// <param name="preferenceList">排好的排序列表</param>
public CustomComparer(List<T> preferenceList)
{
_preferenceList = preferenceList ?? new List<T>();
}
/// <summary>
/// 执行比较
/// </summary>
/// <param name="x"></param>
/// <param name="y"></param>
/// <returns></returns>
public int Compare(T x,