----------------------------------------------------.对基础类型排序

方法一:

调用sort方法,如果需要降序,进行反转:

List<int> list = new List<int>();
    list.Sort();// 升序排序
    list.Reverse();// 反转顺序

方法二:

使用lambda表达式,在前面加个负号就是降序了

List<int> list= new List<int>(){5,1,22,11,4};
    list.Sort((x, y) => x.CompareTo(y));//升序
    list.Sort((x, y) => -x.CompareTo(y));//降序
 
-------------------------------------------------------------对非基础类型排序

方法一:

修改类本身,实现IComparable<T>接口

//重写的CompareTo方法,根据Id排序
    public int CompareTo(People other)
    {
        if (null == other)
        {
            return 1;//空值比较大,返回1
        }
        //return this.Id.CompareTo(other.Id);//升序
        return other.Id.CompareTo(this.Id);//降序
    }

方法二:

委托

list.Sort(delegate(People p1,People p2)
    {
        return p1.Id.CompareTo(p2.Id);//升序
    });

lambda

list.Sort((x,y)=> { return x.Id.CompareTo(y.Id); });

-------------------------------------------------------------OrderBy

list = list.OrderBy(o => o.Id).ToList();//升序
    list = list.OrderByDescending(o => o.Id).ToList();//降序
     
    list = list.OrderBy(o => o.Id).ThenBy(o=>o.Name).ToList();
    list = list.OrderByDescending(o => o.Id).ThenByDescending(o=>o.Name).ToList();//降序

---------------------------------------------------------------------------linq 去重

var list_distinct = list.GroupBy(a => new { a.name1, a.name2, a.name3 }).Select(a => a.Key).ToList();

------------------------------------------------------linq  查询金额最高前几条
                    //
List<ListSortModel> sortedList = (from a in list orderby a.Amount descending select a).Take(data.AmountCount).ToList();

-----------------------------linq取DataTable某一列数据返回给一个List<int>
var list =dt.AsEnumerable().Select<DataRow, int>(x => Convert.ToInt32(x["列名"])).ToList<int>();

c# linq lambda 去重,排序,取最高纪录。的更多相关文章

  1. [算法1-排序](.NET源码学习)& LINQ & Lambda

    [算法1-排序](.NET源码学习)& LINQ & Lambda 说起排序算法,在日常实际开发中我们基本不在意这些事情,有API不用不是没事找事嘛.但必要的基础还是需要了解掌握. 排 ...

  2. linux下批量修改存有超大数据量IP文件中的IP内容以及去重排序

    作为一个linux的学徒,分享一下自己解决这个小问题的心得,在处理这个问题时使用了一个小技巧感觉很适用,个人发觉linux的终端真滴是非常强大,下面就详细地介绍这个问题以及解决办法吧 问题描述:由于要 ...

  3. 分享一种容易理解的js去重排序方法

    <script> var arr=[1,8,6,4,88,22,99,4,6,86,5,58,89,5]; //先使用sort()函数去重 var a=arr.sort(function ...

  4. SQL,LINQ,Lambda语法对照图(转载)

    如果你熟悉SQL语句,当使用LINQ时,会有似曾相识的感觉.但又略有不同.下面是SQL和LINQ,Lambda语法对照图 SQL LINQ Lambda SELECT * FROM HumanReso ...

  5. for循环去重排序

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. 去重+排序板子(set+map)

    题意: 给定n个数,去重排序后输出个数和每个数 1.map实现 #pragma GCC optimize("O2") #include<iostream> #inclu ...

  7. LINQ之路14:LINQ Operators之排序和分组(Ordering and Grouping)

    本篇继续LINQ Operators的介绍,这里要讨论的是LINQ中的排序和分组功能.LINQ的排序操作符有:OrderBy, OrderByDescending, ThenBy, 和ThenByDe ...

  8. LINQ分页和排序,skip和Take 用法

    LINQ分页和排序,skip和Take 用法 dbconn.BidRecord.OrderBy(p=>p.bid_id).ToList<BidRecord>().OrderBy(p ...

  9. ASP.NET EF(LINQ/Lambda查询)

    EF(EntityFrameWork) ORM(对象关系映射框架/数据持久化框架),根据实体对象操作数据表中数据的一种面向对象的操作框架,底层也是调用ADO.NET ASP.NET MVC 项目会自动 ...

随机推荐

  1. 学号20175313 《Arrays和String单元测试》第八周

    目录 Arrays和String单元测试 一.String类相关方法的单元测试 二.Arrays类相关方法的单元测试 三.测试过程中遇到的问题及其解决方法 四.码云链接 五.参考资料 Arrays和S ...

  2. XLSReadWriteII5导入excel数据

    procedure TForm1.Button1Click(Sender: TObject); var xls: TXLSReadWriteII5; openFile: TOpenDialog; Ro ...

  3. seq2seq笔记

    max_encoder_seq_length = max([len(txt) for txt in input_texts]) encoder_input_data = np.zeros(     ( ...

  4. 【LeetCode每天一题】Set Matrix Zeroes(设置0矩阵)

    Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in-place. Exampl ...

  5. DS18B20初上电显示85℃问题

    以前用的温度采集都是用的AD,这次改为了DS18B20,看了资料,没有很复杂的部分,重要的就是时序.板子出来后初步测试也能正常读取温度,然而有个问题比较奇怪,就是在板子初上电时读取温度总是显示为+85 ...

  6. Linux下SVN创建新的项目

    Linux下SVN创建新的项目   Linux环境下的SVN创建新的项目 一.前置条件: 1)有安装了linux系统的服务器,123.*.*.29 2)服务器上安装了svn,本人服务器的svn的数据安 ...

  7. Java获取项目根目录等其他系统属性

    一 相对路径的获得 说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目) String relativelyPath=System.getProper ...

  8. class类 __repr__ 与__str__

    >>> class Student(object):... def __init__(self, name):... self.name = name... def __str__( ...

  9. SQL大数据查询优化

    常写的SQL可能主要以实现查询出结果为主,但如果数据量一大,就会突出SQL查询语句优化的性能独特之处.一般的数据库设计都会建索引查询,这样较全盘扫描查询的确快了不少.下面总结下SQL查询语句的几个优化 ...

  10. parse

    import Parse from 'parse'; import { AsyncStorage } from 'react-native'; // 创建新的子类 var GameScore = Pa ...