zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    QSetting介绍
    Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件
    __try __except与__try __finally的嵌套使用以及__finally的调用时机
    获取指定长度的随机字符串
    python获取指定长度的字符串
    手动输入验证码
    python获取时间戳
    headers的描述
    使用协程(gevent)实现请求
    识别简单验证码并进行提交
  • 原文地址:https://www.cnblogs.com/window5549-accp/p/6951923.html
Copyright © 2011-2022 走看看