using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
List<Person> list = new List<Person>();
list.Add(new Person("AA", 50));
list.Add(new Person("BB", 20));
list.Add(new Person("CC", 30));
list.Add(new Person("DD", 70));
Comparison<Person> comparison = new Comparison<Person>
((Person x, Person y) =>
{
if (x.Old < y.Old)
return -1;
else if (x.Old == y.Old)
return 0;
else
return 1;
});
list.Sort(comparison);//1、Comparison<Person>
list.Sort(new Person().Compare);//2、IComparer<Person>
list.Sort();//3、IComparable
Console.ReadKey();
}
}
class Person : IComparable, IComparer<Person>
{
string name;
public Person()
{
}
public Person(string name, int old)
{
this.name = name;
this.old = old;
}
public string Name
{
get { return name; }
set { name = value; }
}
int old;
public int Old
{
get { return old; }
set { old = value; }
}
public int CompareTo(Object o)
{
if (this.old > ((Person)o).old)
return 1;
else if (this.old == ((Person)o).old)
return 0;
else
return -1;
}
public int Compare(Person x, Person y)
{
if (x.old < y.old)
return -1;
else if (x.old == y.old)
return 0;
else
return 1;
}
}
C# List Sort的三种方法
最新推荐文章于 2025-12-08 00:03:47 发布
本文介绍了一种使用C#进行列表排序的方法,包括通过Comparison泛型委托直接比较、实现IComparer接口以及IComparable接口来进行排序。示例代码展示了如何对包含姓名和年龄的Person对象列表进行排序。
774

被折叠的 条评论
为什么被折叠?



