list泛型自定义排序示例

代码如下:

static void Main(string[] args)
{

Employee employee = new Employee();
    //设置初始值
    List<Employee> employeeList = new List<Employee>();
    employeeList.Add(new Employee() { EmpId = "001", EmpName = "Tony" });
    employeeList.Add(new Employee() { EmpId = "002", EmpName = "Mack" });
    employeeList.Add(new Employee() { EmpId = "003", EmpName = "Jon" });
    employeeList.Add(new Employee() { EmpId = "004", EmpName = "Dawei" });
    employeeList.Add(new Employee() { EmpId = "005", EmpName = "Jack" });
    employeeList.Add(new Employee() { EmpId = "006", EmpName = "Abby" });
    employeeList.Add(new Employee() { EmpId = "007", EmpName = "Carrie" });
    //指定置前排序元素
    List<Employee> toSortList = new List<Employee>();
    toSortList.Add(new Employee() { EmpId = "003", EmpName = "Jon" });
    toSortList.Add(new Employee() { EmpId = "005", EmpName = "Jack" });
    toSortList.Add(new Employee() { EmpId = "007", EmpName = "Carrie" });
    //自定义 排序委托
    employeeList.Sort((Employee x, Employee y) => (toSortList.Count(e => e.EmpId == y.EmpId) - toSortList.Count(e => e.EmpId == x.EmpId)));
}

public class Employee
{
    public string EmpId
    {
        get;
        set;
    }

public string EmpName
    {
        get;
        set;
    }
}

经过排序后将原本list中按001,002,003,排列的元素排序为003,005,007,001,002,004.。。。将指定的003,005,007,排列在List最前

(0)

相关推荐

  • RadioButtonList绑定图片及泛型Dictionary应用

    本博文是让你学会读取站点某一目录的图片,掌握LINQ与泛型Dictionary<TKey,TValue>的使用. 首先准备好几张图片存在站点某一目录之下,本例中的存储图片的目录名为MsSiteImages,图片你可以从微软网站下载http://windows.microsoft.com/en-US/windows/home 我们写一个泛型数据集,将存储目录的图片信息: 复制代码 代码如下: View Code private Dictionary<int, string> GetD

  • 关于C#泛型列表List<T>的基本用法总结

    示例代码如下:namespace SampleListT{  class Program  {      static void Main(string[] args)      {//using System.Collections.Generic; 命名空间中的List<T>//using System.Collections; 命名空间中的ArrayList  //都实现了列表集合,一个是泛形集合,一个是非泛型的//下面我们将Person对象加到集合中 Person p1 = new P

  • C#读取数据库返回泛型集合详解(DataSetToList)

    复制代码 代码如下: protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                IList<LYZX.Model.LYZX_NewsTypeModel> list = GetList<LYZX.Model.LYZX_NewsTypeModel>(System.Configuration.Configurat

  • list泛型自定义排序示例

    复制代码 代码如下: static void Main(string[] args){ Employee employee = new Employee();    //设置初始值    List<Employee> employeeList = new List<Employee>();    employeeList.Add(new Employee() { EmpId = "001", EmpName = "Tony" });    e

  • java中实现Comparable接口实现自定义排序的示例

    实例如下所示: class Student implements Comparable{ String name; int gpa; @Override public int compareTo(Object arg0) { // TODO Auto-generated method stub Student s = (Student)arg0; if(gpa == s.gpa) return name.compareTo(s.name); else if(gpa < s.gpa) return

  • Python实现快速排序和插入排序算法及自定义排序的示例

    一.快速排序 快速排序(Quicksort)是对冒泡排序的一种改进.由C. A. R. Hoare在1962年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列. 快速排序,递归实现 def quick_sort(num_list): """ 快速排序 """ if num_li

  • php自定义排序uasort函数示例【二维数组按指定键值排序】

    本文实例讲述了php自定义排序uasort函数.分享给大家供大家参考,具体如下: 项目需要风险排序,按 I(安全)<L(低风险)<M(中风险)<H(高风险) 的级别来排序 由于H排在I的前面,所以不能直接用sort来排序,要自定义. 用uasort()函数来自定义排序: /* * 二维数组按指定键值排须 */ function arr_sort($array,$key,$order="asc"){//asc是升序 desc是降序//按 I<L<M<H

  • python3 sorted 如何实现自定义排序标准

    在 python2 中,如果想要自定义评价标准的话,可以这么做 def cmp(a, b): # 如果逻辑上认为 a < b ,返回 -1 # 如果逻辑上认为 a > b , 返回 1 # 如果逻辑上认为 a == b, 返回 0 pass a = [2,3,1,2] a = sorted(a, cmp) 但是在 python3 中,cmp 这个参数已经被移除了,那么在 python3 中应该怎么实现 python2 的 cmp 功能呢? import functools def cmp(a,

  • golang编程开发使用sort排序示例详解

    golang sort package: https://studygolang.com/articles/3360 sort 操作的对象通常是一个 slice,需要满足三个基本的接口,并且能够使用整数来索引 // A type, typically a collection, that satisfies sort.Interface can be // sorted by the routines in this package. The methods require that the /

  • C# 泛型List排序的实现

    本文主要介绍了C# 泛型List排序的实现,分享给大家,具体如下: 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace L_List_sort { public class Person:IComparable<Person> { // 属性 public string name; publ

  • java Lucene 中自定义排序的实现

    Lucene中的自定义排序功能和Java集合中的自定义排序的实现方法差不多,都要实现一下比较接口. 在Java中只要实现Comparable接口就可以了.但是在Lucene中要实现SortComparatorSource接口和ScoreDocComparator接口.在了解具体实现方法之前先来看看这两个接口的定义吧. SortComparatorSource接口的功能是返回一个用来排序ScoreDocs的comparator(Expert: returns a comparator for so

  • 在ASP.NET 2.0中操作数据之二十七:创建自定义排序用户界面

    简介 显示大量已经按类别(不是很多)排序的数据但没有类别分界线,用户很难找到所需要的类别.例如,数据库中只有9个类别(8个不同的类别和1个null),共81种产品.现在用一个GridView列出所有产品,假设有用户对类别Seafood的产品感兴趣,她一定会按类别排序,把Seafood产品排列在一起.排序后,用户便寻找Seafood产品开始和结束的地方.虽然是按英文字母排列类别不难找到Seafood,但仍要花些时间在GridView寻找.为了进一步的区分类别,许多网站使用类别分界线这种排序用户界面

  • sqlserver 支持定位当前页,自定义排序的分页SQL(拒绝动态SQL)

    1,场景:根据学生编号查询,返回该学生所在班级的所有学生.支持分页.自定义排序及结果集自动定位到查询条件的学生编号所在页. 复制代码 代码如下: CREATE PROC [dbo].[Sp_testpagerandsorting] (@GroupID INT, @CurrentId INT, @TimeFrom DATETIME, @TimeTo DATETIME, @OrderBy CHAR(50), @PageSize INT, @CurrentPage INT) AS SET nocoun

随机推荐