namespace ListPaiXu
{
class ShopItem
{
public int id;
public ShopItem(int id)
{
this.id = id;
}
}
class Item: IComparable<Item>//自定义排序必须继承此接口
{
public int money;
public Item(int m)
{
this.money = m;
}
public int CompareTo(Item other)//接口实现的方法
{
//返回1表示把数放在后面,-1为前面,0表示位置不变
if(this.money>other.money)
{
return 1;
}
else
{
return -1;
}
}
}
class Program
{
static void Main(string[] args)
{
#region List排序
#endregion
#region Sort方法
//升序排序
List<int> l1 = new List<int>();
l1.Add(1);
l1.Add(15);
l1.Add(11);
l1.Add(16);
l1.Add(31);
l1.Add(21);
l1.Sort();
foreach(var item in l1)
{
Console.WriteLine(item);
}
Console.WriteLine("*****************");
#endregion
#region 自定义排序
List<Item> itlist = new List<Item>();
itlist.Add(new Item(45));
itlist.Add(new Item(55));
itlist.Add(new Item(25));
itlist.Add(new Item(48));
itlist.Add(new Item(41));
itlist.Add(new Item(95));
itlist.Sort();
foreach(var item in itlist)
{
Console.WriteLine(item.money);
}
Console.WriteLine("***************");
#endregion
#region 利用委托进行排序
List<ShopItem> shoplist = new List<ShopItem>();
shoplist.Add(new ShopItem(1));
shoplist.Add(new ShopItem(4));
shoplist.Add(new ShopItem(5));
shoplist.Add(new ShopItem(3));
shoplist.Add(new ShopItem(2));
shoplist.Add(new ShopItem(6));
//shoplist.Sort(SortShopItem);//和下面一样
shoplist.Sort((a, b) =>{return a.id > b.id ? 1 : -1;});
foreach (var item in shoplist)
{
Console.WriteLine(item.id);
}
#endregion
}
static int SortShopItem(ShopItem a,ShopItem b)
{
if(a.id>b.id)
{
return 1;
}
else
{
return -1;
}
}
}
}
List排序简单介绍
最新推荐文章于 2024-06-24 19:04:38 发布