msdn List sort排序 IComparable 用法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication5
{
class Program
{
static void Main(string[] args)
{
List<PermCategory> list = new List<PermCategory>();
list.Add(new PermCategory { CateId = 1, Name = "ad5", Perm = 1, Summary = "ada5" });
list.Add(new PermCategory { CateId=1,Name="ad",Perm=1,Summary="ada"});
list.Add(new PermCategory { CateId = 1, Name = "ad4", Perm = 1, Summary = "ada4" });
list.Add(new PermCategory { CateId = 2, Name = "a1d", Perm = 2, Summary = "a1da" });
list.Add(new PermCategory { CateId = 2, Name = "ad", Perm = 2, Summary = "ada" });
Console.WriteLine("排序前");
test(list);
list.Sort((x, y) => {
int result = 0;
// result -1小到大 , 1大到小
#region A:perm 小到大,name 长度 小到大
//if (x.Perm < y.Perm)
//{
// result = -1;
//}
//if (x.Perm < y.Perm || x.Name.Length < y.Name.Length)
//{
// result = -1;
//}
#endregion
#region A:perm 小到大,name 长度 小到大
//if (x.Perm < y.Perm)
//{
// result = -1;
//}
//if (x.Perm == y.Perm && x.Name.Length < y.Name.Length)
//{
// result = -1;
//}
#endregion
#region A:perm 小到大,name 长度 大到小
if (x.Perm < y.Perm)
{
result = -1;
}
if (x.Perm == y.Perm && x.Name.Length > y.Name.Length)
{
result = -1;
}
#endregion
return result;
});
Console.WriteLine("---------------------");
test(list);
Console.WriteLine("排序后");
Console.ReadLine();
}
static void test(List<PermCategory> list) {
foreach (var item in list)
{
Console.WriteLine(string.Format("perm:{0},name:{1}",item.Perm,item.Name));
}
}
}
public class PermCategory //: IJsonlizable
{
// public PermCategory();
public int CateId { get; set; }
public string Name { get; set; }
public int Perm { get; set; }
public string Summary { get; set; }
// public string Jsonlize();
}
}
http://www.cnblogs.com/dj1232090/p/5844991.html
msdn List sort排序 IComparable 用法的更多相关文章
- List<T>.Sort() 排序的用法
List<T> 可以通过 .Sort()进行排序,但是当 T 对象为自定义类型时(比如自定义模型),就需要 IComparable接口重写其中的方法来实现,实现代码如下: class Pr ...
- js数组之sort排序的用法
sort排序 转载自:https://blog.csdn.net/idomyway/article/details/80544509 js中用方法sort()为数组排序.sort()方法有一个可选参数 ...
- C++ 中的sort()排序函数用法
sort(first_pointer,first_pointer+n,cmp) 该函数可以给数组,或者链表list.向量排序. 实现原理:sort并不是简单的快速排序,它对普通的快速排序进行了优化,此 ...
- C#之IComparable用法,实现List<T>.sort()排序
这篇文章主要介绍了C#的一些基础知识,主要是IComparable用法,实现List<T>.sort()排序,非常的实用,这里推荐给大家. List<T>.sort()可以 ...
- JS基础篇--sort()方法的用法,参数以及排序原理
JS基础篇--sort()方法的用法,参数以及排序原理 sort() 方法用于对数组的元素进行排序,并返回数组.默认排序顺序是根据字符串Unicode码点.语法:arrayObject.sort( ...
- js sort() 排序用法(转载)
原文:https://blog.csdn.net/m0_37885651/article/details/80016718 sort() 方法用于对数组的元素进行排序,并返回数组.默认排序顺序是根据字 ...
- 反向输出及sort排序
建立条件:#include "algorithm"引用这个头文件 1.reverse 的用法,反向排序,由自己输入5个数: 1 2 3 4 5 for (int i = 0; i ...
- javascript:算法之数组sort排序
数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序( ...
- 数组Array.sort()排序的方法
数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序( ...
随机推荐
- DP套DP
DP套DP,就是将内层DP的结果作为外层DP的状态进行DP的方法. [BZOJ3864]Hero meet devil 对做LCS的DP数组差分后状压,预处理出转移数组,然后直接转移即可. tr[S] ...
- [USACO 2017 Dec Gold] Tutorial
Link: USACO 2017 Dec Gold 传送门 A: 为了保证复杂度明显是从终结点往回退 结果一开始全在想优化建边$dfs$……其实可以不用建边直接$multiset$找可行边跑$bfs$ ...
- 零起点学算法09——继续练习简单的输入和计算(a-b)
#include<stdio.h> int main() { int a,b; scanf("%d %d",&a,&b); printf("% ...
- 通过LoadBalancerClient获取所有服务列表的IP
说明:LoadBalanced采用轮训的方式请求服务提供者,但是如果针对某些业务需要精确到某个服务提供者或者遍历所有的服务提供者,那么可以通过LoadBalancerClient去获得. 参考: ht ...
- POJ 2187 Beauty Contest (求最远点对,凸包+旋转卡壳)
Beauty Contest Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 24283 Accepted: 7420 D ...
- jQuery: on()特别的几种用法
jQuery大家肯定用得非常的熟练了,没什么好讲的,今天为什么要写关于on这个事件绑定的API?主要还是因为看了大神的博文:web移动端浮层滚动阻止window窗体滚动JS/CSS处理;其中对于on用 ...
- NAND Flash大容量存储器K9F1G08U的坏块管理方法
转: http://www.360doc.com/content/11/0915/10/7715138_148381804.shtml 在进行数据存储的时候,我们需要保证数据的完整性,而NAND Fl ...
- 使用BusyBox制作linux根文件系统(CramFS+mdev)
转:http://www.360doc.com/content/10/0428/11/496343_25245348.shtml 操作系统:Ubuntu9.04 内核版本:linux-2.6.24.7 ...
- 【mybatis】分别按照 天 月 年 统计查询
页面统计想通过 天 月 年 分别来展示统计效果, 那么查询SQL拼接如下: select *, <if test="groupType == 1"> DATE_FORM ...
- shell 脚本中执行mysql语句
通过hash建表之后,表的数据量巨大2048,那怎么去验证表是否建成功呢? 逻辑生成表名这部分就不写了.只要能建表成功,这部分的脚本肯定是有的.那么怎么在shell中执行selec查询并返回呢 只要在 ...