list排序
今天要对List排序,上网查了很多方法都感觉比较麻烦,现在终于找到了两种比较简便的方式,在此写出来,防止忘记!同时供大家参考!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace ListSort
- {
- class Program
- {
- static void Main(string[] args)
- {
- List<Customer> listCustomer = new List<Customer>();
- listCustomer.Add(new Customer { name = "客户1", id = 0 });
- listCustomer.Add(new Customer { name = "客户2", id = 1 });
- listCustomer.Add(new Customer { name = "客户3", id = 5 });
- listCustomer.Add(new Customer { name = "客户4", id = 3 });
- listCustomer.Add(new Customer { name = "客户5", id = 4 });
- listCustomer.Add(new Customer { name = "客户6", id = 5 });
- ///升序
- List<Customer> listCustomer1 = listCustomer.OrderBy(s => s.id).ToList<Customer>();
- //降序
- List<Customer> listCustomer2 = listCustomer.OrderByDescending(s => s.id).ToList<Customer>();
- //Linq排序方式
- List<Customer> listCustomer3 = (from c in listCustomer
- orderby c.id descending //ascending
- select c).ToList<Customer>();
- Console.WriteLine("List.OrderBy方法升序排序");
- foreach (Customer customer in listCustomer1)
- {
- Console.WriteLine(customer.name);
- }
- Console.WriteLine("List.OrderByDescending方法降序排序");
- foreach (Customer customer in listCustomer2)
- {
- Console.WriteLine(customer.name);
- }
- Console.WriteLine("Linq方法降序排序");
- foreach (Customer customer in listCustomer3)
- {
- Console.WriteLine(customer.name);
- }
- Console.ReadKey();
- }
- }
- class Customer
- {
- public int id { get; set; }
- public string name { get; set; }
- }
- }
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ListSort
{
class Program
{
static void Main(string[] args)
{
List<Customer> listCustomer = new List<Customer>();
listCustomer.Add(new Customer { name = "客户1", id = 0 });
listCustomer.Add(new Customer { name = "客户2", id = 1 });
listCustomer.Add(new Customer { name = "客户3", id = 5 });
listCustomer.Add(new Customer { name = "客户4", id = 3 });
listCustomer.Add(new Customer { name = "客户5", id = 4 });
listCustomer.Add(new Customer { name = "客户6", id = 5 });
///升序
List<Customer> listCustomer1 = listCustomer.OrderBy(s => s.id).ToList<Customer>();
//降序
List<Customer> listCustomer2 = listCustomer.OrderByDescending(s => s.id).ToList<Customer>();
//Linq排序方式
List<Customer> listCustomer3 = (from c in listCustomer
orderby c.id descending //ascending
select c).ToList<Customer>();
Console.WriteLine("List.OrderBy方法升序排序");
foreach (Customer customer in listCustomer1)
{
Console.WriteLine(customer.name);
}
Console.WriteLine("List.OrderByDescending方法降序排序");
foreach (Customer customer in listCustomer2)
{
Console.WriteLine(customer.name);
}
Console.WriteLine("Linq方法降序排序");
foreach (Customer customer in listCustomer3)
{
Console.WriteLine(customer.name);
}
Console.ReadKey();
}
}
class Customer
{
public int id { get; set; }
public string name { get; set; }
}
}
效果展示:

list排序的更多相关文章
- Java Map排序
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...
- C++ map排序(按照value值排序)_glp_hit_新浪博客
C++ map排序(按照value值排序)_glp_hit_新浪博客 C++ map排序(按照value值排序) (2012-07-12 14:19:51) 转载▼ 标签: ...
- STL容器——对map排序
STL容器(三)——对map排序 对于map的排序问题,主要分为两部分:根据key排序:根据value排序.下面我们就分别说一下~ 1. 根据key进行排序 map默认按照key进行升序排序 ,和输入 ...
- Java | Map排序,工具类改进
package util; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; ...
- Map排序
HashMap: 最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度.HashMap最多只允许一条记录的键为Null(多条会覆盖);允许多条记录的值为 ...
- Map排序——按key排序,按value排序
注:转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/5959279.html 上一篇博文谈到了集合类的自定义排序方式,那么进一步扩展开来,与集合同等重要的Map有 ...
- Map排序(按key/按value)
package com.abc.test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collecti ...
- Map 排序
/** * 通过map 的 value 排序,并返回排序后的第一个条目 * * @param m 待排序集合 * @param desc true:降序排序,false:升序排序 * @return ...
- stl之map 排序
排序问题,STL中默认是采用小于号来排序的,因为设置int等类型做key,它本身支持小于号运算,在一些特殊情况,比如关键字是一个结构体,涉及到排序就会出现问题,因为它没有小于号操作,insert等函数 ...
- java 对map排序
public static Map<String, String> sortMapByKey(Map<String, String> map) { if (map == nul ...
随机推荐
- Windows下 VM12虚拟机安装OS X 10.11 和VM TOOLS
Windows下虚拟机安装Mac OS X —– VMware Workstation12安装Mac OS X 10.11 本文即将介绍WIN虚拟MAC的教程.完整详细教程(包含安装中的一些问题) [ ...
- 50道 Sql语句题
Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 ...
- kafka 搭建与使用
消息量非超级多不建议使用,可以使用redis或Beanstalkd 使用简单 Beanstalkd 客户端建议用:composer require pda/pheanstalk 如果无JAVA JDK ...
- oracle 中数据库完全导入导出:cmd命令行模式(转载)
http://www.3lian.com/edu/2012/12-01/47252.html Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库 ...
- C#设置通过代理访问ftp服务器
// 创建FTP连接 private FtpWebRequest CreateFtpWebRequest(string uri, string requestMethod) { FtpWebReque ...
- SQL server 查询某个表在哪些存储过程(SP)中使用到
1.查询某个表被哪些存储过程(以下简称 SP)使用到 : select distinct object_name(id) from syscomments where id in (select ob ...
- mac pro常用操作
1. spotlight: 右上角的放大镜图标,可以用来搜索程序和文档. 2.activity monitor: 打开spotlight搜索activity,可以看到运行的程序列表,类似windows ...
- Oracle中查看所有表和字段以及表注释.字段注释
获取表: select table_name from user_tables; //当前用户拥有的表 select table_name from all_tables; //所有用户的表 sele ...
- 异步编程模型(APM)模式
什么是APM .net 1.0时期就提出的一种异步模式,并且基于IAsyncResult接口实现BeginXXX和EndXXX类似的方法. .net中有很多类实现了该模式(比如HttpWebReque ...
- EF6 CodeFirst+Repository+Ninject+MVC4+EasyUI实践(五)
前言 在编写代码的时候,我遇到了很多关于EntityFramework6的疑问,所以现在就提前把这些问题列出来做一下解答,以便在以后的代码编写过程中减少不必要的Bug. EntityFramework ...