• C# 自定义排序


    /// <summary>
    /// 实体
    /// </summary>
    public class Product
    {
    public int ID { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public DateTime PublishDate { get; set; }
    }
    /// <summary>
    /// 实体集合
    /// </summary>
    public class PrductList
    {
    public List<Product> Books { get; set; }
    }

    //一个排序依据枚举:
    public enum ComparisonType
    {
    Price, PublishDate
    }

    //一个排序基类,实现具体排序
    public class BookComparison : IComparer<Product>
    {
    private ComparisonType type;

    public BookComparison(ComparisonType type)
    {
    this.type = type;
    }

    public int Compare(Product x, Product y)
    {
    int order = 0;
    switch (this.type)
    {
    case ComparisonType.Price:
    order = y.Price.CompareTo(x.Price);//更换x和y的顺序可以实现升序或者降序功能
    break;
    case ComparisonType.PublishDate:
    order = y.PublishDate.CompareTo(x.PublishDate);//更换x和y的顺序可以实现升序或者降序功能
    break;
    default:
    break;
    }
    int d = order;
    return order;
    }
    }
    public class MyTest
    {
    public void test()
    {
    PrductList list = new PrductList();
    List<Product> Books = new List<Product>();
    list.Books = Books;
    list.Books.Add(new Product()
    {
    ID = 1,
    Name = "LiSi",
    Price = 12.5M,
    PublishDate = DateTime.Parse("2016-06-03")
    });
    list.Books.Add(new Product()
    {
    ID = 1,
    Name = "Zhangsan",
    Price = 12.8M,
    PublishDate = DateTime.Parse("2016-06-05")
    });
    list.Books.Add(new Product()
    {
    ID = 1,
    Name = "Wangwu",
    Price = 11.5M,
    PublishDate = DateTime.Parse("2016-06-01")
    });
    list.Books.Sort(new BookComparison(ComparisonType.Price).Compare);
    foreach (var item in list.Books)
    {
    Console.WriteLine(string.Format("{0}:{1}, {2}", item.Name, item.Price, item.PublishDate.ToString()));
    }
    }
    }

  • 相关阅读:
    Python3与Python2的区别(转载)
    Python——通过斐波那契数列来理解生成器
    Solr4.8.1与Tomcat7整合
    Solr配置与简单Demo
    lucene 4.4 demo
    企业级搜索引擎Solr使用入门指南
    Solr使用入门指南
    使用solr搭建你的全文检索
    Solr 1.3 安装步骤
    Lucene/Solr开发经验
  • 原文地址:https://www.cnblogs.com/niuzaihenmang/p/5620595.html
Copyright © 2020-2023  润新知