243集合中对象的排序
2019-04-05 本文已影响0人
漠漠彡
一、基本类型的数据排序(值类型、字符串类型)
list.Sort();
list.Reverse();
二、对象类型元素的默认排序——IComparable<T>
对象类型元素可排列属性太多,直接调用sort方法无法确认用什么属性来排序,所以就要指明。
对象类型元素排序需要通过泛型接口IComparable<in T>实现,添加IComparable接口并实现接口(右键实现)
值类型的排序可以使用减号,但建议直接使用ComparaTo
注:默认排序只有一种排序方法,如需要多种排序方法,则需要拓展动态排序
三、集合的动态排序——比较器IComparer<T>
根据在开发中的需要,想要添加多少种排序就添加多少种排序类,并实现接口。
四、总结Sort()方法
1、List集合的Sort方法共有4种
Sort()使用默认比较器IComparable<T>排序对象
Sort(IComparer<T> compara)将实现比较器接口的对象作为参数
……
2、集合排序总结
如果是基本数据类型的元素,可以直接排序。
如果是对象类型元素
1、当排序只有一种的时候,可以使用默认比较器IComparable<T>在类中直接实现接口即可
2、当需要多种排序的时候,需要添加对应排序类,并给每一个排序类实现比较器接口ICompara<T>来完成不同的方法。。