1.IComparable、IComparable<T>
自定义类继承接口IComparable<T>,可以调用 list.Sort()排序;
using System.Collections.Generic;
using System;
[Serializable]
public class Salary : IComparable<Salary>
{
public string name;
public int age;
public int salaryNum;
public Salary(string _name, int _age, int _salary)
{
name = _name;
age = _age;
salaryNum = _salary;
}
//Sort()默认调用方法
//实现泛型接口:IComparable<Salary>
public int CompareTo(Salary other)
{
return salaryNum.CompareTo(other.salaryNum);
}
//实现接口:IComparable,不建议使用
//public int CompareTo(object obj)
//{
// return salaryNum.CompareTo((obj as Salary).salaryNum);
//}
}
2.IComparer
public class AgeComparor : IComparer<Salary>
{
public int Compare(Salary x, Salary y)
{
return x.age.CompareTo(y.age);
}
}
调用list.Sort(new AgeComparor())排序