• 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

  • 相关阅读:
    UIPickerView-一.01-
    闭包-01-Swift
    Swift 入门-01-概述
    git使用命令行-01-自己操作的
    FetchedResultsController-03-CoreData相关
    SQLite-05-增删改查
    Sqlite函数总结-04
    List<string>转xml
    比较两个List<T>是否相同
    获取DataTable前几条数据
  • 原文地址:https://www.cnblogs.com/window5549-accp/p/6951923.html
Copyright © 2020-2023  润新知