C#List集合实现对对象自定义排序

时间:2020-04-07 21:02:47   收藏:0   阅读:76

List排序

List集合对数字或者字母排序可能并不难,不够要是对象排序,就要考虑用对象的哪个字段进行排序。list提供了一个Sort()方法,List已经可以对内置类型(比如:int、double、string)排序,通过对接口的实现也可以定制自己的类排序。可以通过IComparable<T>接口或者IComparer<T>接口实现。

技术分享图片

技术分享图片

根据结果截图可以看出来这两种方法都实现了,扑克牌按数字从小到大排序,如果数字相等则按花色从黑桃, 方块, 红桃到 梅花的排序。

最后总结:List<T>自定义排序可以通过IComparable<T>接口或者IComparer<T>接口实现。

  • IComparable<T>接口实现时需要对象实现接口中的CompareTo()方法。最后调用List.Sort()排序;
  • IComparer<T>接口需要创建比较类,并实现接口中的Compare()方法。最后需要创建比较类的实例,并当作参数传入List.Sort()方法中。

技术分享图片
-------------------------------------------------------------------2020.04.07 晚 天气多云转晴

原文:https://www.cnblogs.com/botinghub/p/12655888.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!