zl程序教程

您现在的位置是:首页 >  后端

当前栏目

list泛型自定义排序示例

List排序泛型 示例 自定义
2023-06-13 09:15:16 时间

复制代码代码如下:


staticvoidMain(string[]args)
{

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

publicclassEmployee
{
   publicstringEmpId
   {
       get;
       set;
   }

   publicstringEmpName
   {
       get;
       set;
   }
}

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