C# 泛型集合的自定义类型排序的实现
程序员文章站
2022-03-08 08:01:07
一、泛型集合list排序经sort方法之后,采用了升序的方式进行排列的。二、对自定义类型进行排序定义一个普通类:接下来,将定义的person实例化,排序;结果如下:在int类型中实现...
一、泛型集合list<t>排序
经sort方法之后,采用了升序的方式进行排列的。
二、对自定义类型进行排序
定义一个普通类:
接下来,将定义的person实例化,排序;
结果如下:
在int类型中实现了icomparable,所以可以通过sort()直接排序;
int类型是实现了icomparable这个接口的。那么如果让自定义类型person也可以排序,那么试试实现该接口;
那么将上面的代码修改一下看看
结果如下:
三、对集合按照多种不同规则进行排序
实际使用中,经常需要对集合按照多种不同规则进行排序,这就需要定义其他比较规则,可以在compare方法中定义,该方法属于icomparer<t>泛型接口,请看下面的代码:
compare方法的参数为要进行比较的两个同类型对象,返回值为int类型,返回值处理规则与compareto方法相同。其中的comparer.default返回一个内置的comparer对象,用于比较两个同类型对象。
下面用新定义的这个比较器对集合进行排序:
结果如下:
四、使用linq进行排序
sort方法的一个重载是comparison<t>类型的参数;
那就看一下 comparison<t>是怎么一回事吧:
结果如下:
结果如下:
今天的分享就到这里了,好久没写过博客了,加班多,太忙了,抽空复习一下基础知识;
到此这篇关于c# 泛型集合的自定义类型排序的实现的文章就介绍到这了,更多相关c# 泛型集合的自定义类型排序内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
C#实现利用泛型将DataSet转为Model的方法
-
.NET/C#如何判断某个类是否是泛型类型或泛型接口的子类型详解
-
C#使用IComparer自定义List类实现排序的方法
-
C#实现利用泛型将DataSet转为Model的方法
-
.NET/C#如何判断某个类是否是泛型类型或泛型接口的子类型详解
-
C#使用IComparer自定义List类实现排序的方法
-
【转载】 C#中常见的泛型集合类有哪些
-
【JAVA】用Comparable接口学生的成绩做降序排序!请正确指定泛型;用Comparator实现按照姓名排序,请正确指定泛型!
-
C#中Dictionary泛型集合7种常见的用法
-
详解C# 泛型中的数据类型判定与转换