https://www.cnblogs.com/mq0036/p/11386984.html
internal class Person : IComparable<Person>
{
private String name;
public Person(string name)
{
this.Name = name;
}
public string Name { get => name; set => name = value; }
//重写的CompareTo方法,根据Id排序
public int CompareTo(Person other)
{
if (null == other)
{
return 1;//空值比较大,返回1
}
return this.Name.CompareTo(other.Name);//升序
//return other.Name.CompareTo(this.Name);//降序
}
//重写ToString
public override string ToString()
{
return "Name:" + Name;
}
}
private static void Main(string[] args)
{
List<Person> list = new List<Person>();
Person p1 = new Person("20工步");
Person p2 = new Person("10工步");
Person p3 = new Person("50工步");
Person p4 = new Person("a工步");
Person p5 = new Person("哈哈工步");
list.Add(p1);
list.Add(p2);
list.Add(p3);
list.Add(p4);
list.Add(p5);
list.Sort();
foreach (var p in list)
{
Console.WriteLine(p);
}
}