一、基本类型的数据排序(值类型、字符串类型)
list.Sort();
list.Reverse();
![](https://img.haomeiwen.com/i16716627/df1d00599f310b26.png)
![](https://img.haomeiwen.com/i16716627/113de16103a2d277.png)
二、对象类型元素的默认排序——IComparable<T>
对象类型元素可排列属性太多,直接调用sort方法无法确认用什么属性来排序,所以就要指明。
对象类型元素排序需要通过泛型接口IComparable<in T>实现,添加IComparable接口并实现接口(右键实现)
值类型的排序可以使用减号,但建议直接使用ComparaTo
注:默认排序只有一种排序方法,如需要多种排序方法,则需要拓展动态排序
![](https://img.haomeiwen.com/i16716627/2e3c149ff243fdd6.png)
![](https://img.haomeiwen.com/i16716627/55b7f05e09f5faf6.png)
三、集合的动态排序——比较器IComparer<T>
根据在开发中的需要,想要添加多少种排序就添加多少种排序类,并实现接口。
![](https://img.haomeiwen.com/i16716627/afbe74181517042e.png)
四、总结Sort()方法
1、List集合的Sort方法共有4种
Sort()使用默认比较器IComparable<T>排序对象
Sort(IComparer<T> compara)将实现比较器接口的对象作为参数
……
2、集合排序总结
如果是基本数据类型的元素,可以直接排序。
如果是对象类型元素
1、当排序只有一种的时候,可以使用默认比较器IComparable<T>在类中直接实现接口即可
2、当需要多种排序的时候,需要添加对应排序类,并给每一个排序类实现比较器接口ICompara<T>来完成不同的方法。。
网友评论