C# List 排序各种用法与比较
下面介绍各种List的sort的用法与比较
首先,我们建一个People的实体,有name、age、sex的属性,我们要排序的字段是年龄age
新建一个实体类
public class People { public string name { get; set; } public int age { get; set; } public string sex { get; set; } }
新建list的数据
List<People> peoples = new List<People>() { new People() {age = 11, name="alun", sex = "男"}, new People() {age=25, name = "陈敬桃", sex = "男"}, new People() {age=9, name = "惠安", sex = "男"}, new People() {age = 45, name = "小票", sex = "女"}, new People() {age=3, name = "晓鸥", sex = "女"}, new People() {age=70, name = "望谟", sex = "男"} };
1. 第1种排序方法,使用 IComparer
public class PeopleAgeComparer : IComparer<People> { public int Compare(People p1, People p2) { return p1.age.CompareTo(p2.age); } } peoples.Sort(new PeopleAgeComparer());
可以看到第一种方法比价麻烦,要新建一个新的类来做
2. 第2种排序方法,使用委托来排序
peoples.Sort(delegate (People p1, People p2) { return p1.age.CompareTo(p2.age); });
看委托的方式很方便,不用新建类这么麻烦。
3. 第2种排序方法,使用Lambda表达式来排序
peoples.Sort( (a, b) => a.age.CompareTo(b.age) );
目测排序有这3种方法,个人觉得还是Lambda表达式使用得方便。
通过此文希望能帮助大家,谢谢大家对本站的支持!
相关推荐
-
c#对list排序示例
复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ListSort { class Program { static void Main(string[] args) { List listCustomer = new List(); listCustomer.Add(new Customer { name = "客户1",
-
C#通过IComparable实现ListT.sort()排序
本文实例讲述了C#通过IComparable实现ListT.sort()排序的方法,分享给大家供大家参考之用.具体方法如下: 通常来说,List<T>.sort()可以实现对T的排序,比如List<int>.sort()执行后集合会按照int从小到大排序.如果T是一个自定义的Object,可是我们想按照自己的方式来排序,那该怎么办呢,其实可以用过IComparable接口重写CompareTo方法来实现.流程如下: 一.第一步我们申明一个类Person但是要继承IComparabl
-
C#对list列表进行随机排序的方法
本文实例讲述了C#对list列表进行随机排序的方法.分享给大家供大家参考.具体实现方法如下: public List<T> RandomSortList<T>(List<T> ListT) { Random random = new Random(); List<T> newList = new List<T>(); foreach (T item in ListT) { newList.Insert(random.Next(newList.Co
-
C#使用IComparer自定义List类实现排序的方法
本文实例讲述了C#使用IComparer自定义List类实现排序的方法.分享给大家供大家参考.具体如下: List类中不带参数的Sort函数可以用来为List类中的元素排序,但如果List类中的元素类型本身不能直接进行比较(如自定义的struct和很多class),或是希望采用更加灵活的自定义比较方式,可以通过继承了IComparer接口的函数来解决. 代码示例如下: 1)声明一个类 /// <summary> /// 人物类 /// </summary> public class
-
C#基础教程之IComparable用法,实现List<T>.sort()排序
List<T>.sort()可以实现对T的排序,比如List<int>.sort()执行后集合会按照int从小到大排序.如果T是一个自定义的Object,可是我们想按照自己的方式来排序,那该怎么办呢,其实可以用过IComparable接口重写CompareTo方法来实现.流程如下: 一.第一步我们申明一个类Person但是要继承IComparable接口: 复制代码 代码如下: using System; using System.Collections.Generic; usin
-
C#双向链表LinkedList排序实现方法
本文实例讲述了C#双向链表LinkedList排序实现方法.分享给大家供大家参考.具体如下: 1.函数 打印链表函数PrintLinkedList 和 排序函数SortLinkedList 注:下面代码中的链表每项都是double类型,如果换做其他的类型或结构,则需要适当修改 /// <summary> /// 打印链表各结点信息 /// </summary> /// <param name="ll"></param> private s
-
C++ sort排序函数用法详解
目录 用法 两个参数用法 三个参数 string 使用反向迭代器来完成逆序排列 最近在刷ACM经常用到排序,以前老是写冒泡,可把冒泡带到OJ里后发现经常超时,所以本想用快排,可是很多学长推荐用sort函数,因为自己写的快排写不好真的没有sort快,所以毅然决然选择sort函数 用法 1.sort函数可以三个参数也可以两个参数,必须的头文件#include < algorithm>和using namespace std;2.它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n) 3
-
C# List 排序各种用法与比较
下面介绍各种List的sort的用法与比较 首先,我们建一个People的实体,有name.age.sex的属性,我们要排序的字段是年龄age 新建一个实体类 public class People { public string name { get; set; } public int age { get; set; } public string sex { get; set; } } 新建list的数据 List<People> peoples = new List<People
-
PHP中shuffle数组值随便排序函数用法
本文实例讲述了shuffle数组值随便排序函数的用法,分享给大家供大家参考. 具体实例代码如下: 复制代码 代码如下: $typename=20; $rtitle='tt'; for( $i=0;$i<=20;$i++) { $rtitle_rand = array($typename,$rtitle,$typename); shuffle($rtitle_rand);//数组进行随机排序 echo $rtitle_rand['0'].'<br />'; } 希望本文所述对大家的P
-
java中Collections.sort排序函数用法详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f,g这样,当然数字也是这样的. compare(a,b)方法:根据第一个参数小于.等于或大于第二个参数分别返回负整数.零或正整数. equals(obj)方法:仅当指定的对象也是一个 Comparator,并且强行实施与此 Comparator 相同的排序时才返回 true. Collections.
-
LINQ排序操作符用法
Linq中的排序操作符包括OrderBy.OrderByDescending.ThenBy.ThenByDescending和Reverse,提供了升序或者降序排序. 一.OrderBy操作符 OrderBy操作符用于对输入序列中的元素进行排序,排序基于一个委托方法的返回值顺序.排序过程完成后,会返回一个类型为IOrderEnumerable<T>的集合对象.其中IOrderEnumerable<T>接口继承自IEnumerable<T>接口.下面来看看OrderBy的
-
numpy排序与集合运算用法示例
这里有numpy数组的相关介绍http://www.jb51.net/article/130657.htm 排序 numpy与python列表内置的方法类似,也可通过sort方法进行排序. 用法如下: In [1]: import numpy as np In [2]: x = np.random.randn(9) In [3]: x Out[3]: array([-0.4041504 , -0.42198556, 0.92807217, -2.66609196, 1.50915897, 0.3
-
Python排序函数的使用方法详解
Python排序函数完美体现了Python语言的简洁性,对于List对象,我们可以直接调用sort()函数(这里称为"方法"更合适)来进行排序,而对于其他可迭代对象(如set,dict),我们可以使用更灵活的sorted()函数. 一.List的sort()函数 Python源码builtins.py文件对sort()函数的定义如下 def sort(self, key=None, reverse=False): """ L.sort(key=None,
-
C++使用sort对容器排序的实现
本文主要解决以下问题 STL中sort的使用方法 使用sort对vector的排序 使用sort对map排序 使用sort对list排序 STL中sort的使用方法 C++ STL 标准库中的 sort() 函数,本质就是一个模板函数.该函数专门用来对容器或普通数组中指定范围内的元素进行排序,排序规则默认以元素值的大小做升序排序,除此之外我们也可以选择标准库提供的其它排序规则(比如std::greater降序排序规则),甚至还可以自定义排序规则. 值得一提的是,sort() 函数位于头文件中,因
-
C语言库函数中qsort()的用法
目录 (一)void* 的指针类型是什么? (二)void qsort(void*, size_t, size_t, int ( * )(const void * , const void * )) 该怎么使用该库函数? (三)使用qsort()来排序不同类型的数据 总结: qsort是库函数提供的一种排序方法,我们就简单1了解一下怎么去用,而不去深究它的库函数是怎么写的 qsort是库函数中提供的一种能排序任何类型的数据的一种排序方法,思想是quick sort(快速排序),今天我听
-
实例解析angularjs的filter过滤器
现在公司用ionic,就是基于angularjs封装了一些api用于webapp,最近用的angularjs的filter确实省了很多代码,现在总结一下! ng比较鸡肋的过滤器,这里就一笔带过吧!鸡汤类常用的filter后面上例子. lowercase(小写) {{ lastName | lowercase }} uppercase(大写) {{ lastName | uppercase }} number(格式化数字) number过滤器可以为一个数字加上千位分割,像这样,123,456,78
随机推荐
- JavaScript截取指定长度字符串点击可以展开全部代码
- AngularJS入门教程之过滤器用法示例
- Swift与C语言指针结合使用实例
- js跨域资源共享 基础篇
- ES6新特性二:Iterator(遍历器)和for-of循环详解
- php结合md5实现的加密解密方法
- Python实现把回车符\r\n转换成\n
- jQuery is()函数用法3例
- 浅谈JavaScript异常处理语句
- 闭包在python中的应用之translate和maketrans用法详解
- Oracle数据操作和控制语言详解
- strcat函数与strncat函数的深入分析
- Android 中 GridView嵌套在ScrollView里只有一行的解决方法
- Java最全文件操作实例汇总
- Java内部类之间的闭包和回调详解
- 在Framework 4.0中:找出新增的方法与新增的类(二)
- iOS tableView实现头部拉伸并改变导航条渐变色
- C#中的多线程超时处理实践方案
- 自学python的建议和周期预算
- 微信小程序实现点击效果