共有3种:
1.系统自带的类型,直接Sort();
list.Sort();
2.自定义类的排序
//继承泛型接口来自定义排序
class item : IComparable<item>
{
public int money;
public item(int money)
{
this.money = money;
}
public int CompareTo(item other)
{
//从小到大排序
if (this.money>other.money)
return 1;
else
return -1;
}
}
class Program
{
static void Main(string[] args)
{
List<item> it = new List<item>();
it.Add(new item(50));
it.Add(new item(22));
it.Add(new item(18));
it.Add(new item(96));
it.Add(new item(32));
it.Sort();
Console.WriteLine("************");
for(int i=0;i<it.Count;i++)
{
Console.WriteLine(it[i].money);
}
Console.ReadKey();
}
3.通过委托函数或lambad表达式排序(最好用)
就一行
//通过委托函数来排序
class ShopItem
{
public int id;
public ShopItem(int id)
{
this.id = id;
}
}
List<ShopItem> shopItems = new List<ShopItem>();
shopItems.Add(new ShopItem(5));
shopItems.Add(new ShopItem(8));
shopItems.Add(new ShopItem(4));
shopItems.Add(new ShopItem(2));
shopItems.Add(new ShopItem(7));
//利用匿名函数或lambad表达式排序
shopItems.Sort((a, b) => { return a.id > b.id ? 1 : -1; });