欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 泛型集合的自定义类型排序的实现

程序员文章站 2022-03-08 08:01:07
一、泛型集合list排序经sort方法之后,采用了升序的方式进行排列的。二、对自定义类型进行排序定义一个普通类:接下来,将定义的person实例化,排序;结果如下:在int类型中实现...

一、泛型集合list<t>排序

经sort方法之后,采用了升序的方式进行排列的。

C# 泛型集合的自定义类型排序的实现

C# 泛型集合的自定义类型排序的实现 

二、对自定义类型进行排序

定义一个普通类:

接下来,将定义的person实例化,排序;

结果如下:

C# 泛型集合的自定义类型排序的实现

C# 泛型集合的自定义类型排序的实现

在int类型中实现了icomparable,所以可以通过sort()直接排序;

C# 泛型集合的自定义类型排序的实现

int类型是实现了icomparable这个接口的。那么如果让自定义类型person也可以排序,那么试试实现该接口;

那么将上面的代码修改一下看看

结果如下:

C# 泛型集合的自定义类型排序的实现

三、对集合按照多种不同规则进行排序

实际使用中,经常需要对集合按照多种不同规则进行排序,这就需要定义其他比较规则,可以在compare方法中定义,该方法属于icomparer<t>泛型接口,请看下面的代码:

compare方法的参数为要进行比较的两个同类型对象,返回值为int类型,返回值处理规则与compareto方法相同。其中的comparer.default返回一个内置的comparer对象,用于比较两个同类型对象。

下面用新定义的这个比较器对集合进行排序:

结果如下:

C# 泛型集合的自定义类型排序的实现

四、使用linq进行排序

sort方法的一个重载是comparison<t>类型的参数;

C# 泛型集合的自定义类型排序的实现

那就看一下 comparison<t>是怎么一回事吧:

C# 泛型集合的自定义类型排序的实现

结果如下:

C# 泛型集合的自定义类型排序的实现

结果如下:

C# 泛型集合的自定义类型排序的实现

今天的分享就到这里了,好久没写过博客了,加班多,太忙了,抽空复习一下基础知识;

到此这篇关于c# 泛型集合的自定义类型排序的实现的文章就介绍到这了,更多相关c# 泛型集合的自定义类型排序内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: C# 泛型 排序