zoukankan      html  css  js  c++  java
  • Dynamite动态排序库

    易于使用和高性能动态排序库支持类似 SQL 语法和嵌套/复杂的表达式,使用 System.Linq.Expression 动态生成快速比较器。

    使用此库就可以使用文字的排序表达式对List<T>进行排序 :

    List<Person> person;

    person.Sort("Name.Length, BirthDate DESCENDING");

    还可以使用 LINQ 一样的 OrderBy 这样:

    foreach (Person p persons.OrderBy ("BirthDate.Year,Name")
    {
       Console.WriteLine(p.Name) ;
    }

    主要特点:

    1 、易于使用:重写了已经存在的扩展方法Sort和OrderBy

    2、高性能:由于使用Linq的动态编译的表达式

    3、支持arrays, List<T>, IEnumerable<T>, IQueryable<T>和DataSet

    4、支持所有的public 的属性和字段,包括Nullable类型

    5、支持所有的引用类型(class)和值类型(struct)的字段和属性

    6、支持嵌套的属性表达式,例如Mother.Name.Length

    7、字符串大小写无关

    8、开放式的设计:可以自己扩展Comparison<T> delegates, IComparer<T> 和非泛型的 IComparer 用于其它的排序场景。

    项目地址:http://www.codeplex.com/dynamite

    Dynamite 库设计的使用: Dynamite: High Performace Dynamic Sorting Using Expressions

    欢迎大家扫描下面二维码成为我的客户,为你服务和上云

  • 相关阅读:
    01Game
    面试题
    面试题
    面向对象笔记
    1212作业
    12011作业
    1210作业
    1206作业
    1205作业
    1204作业
  • 原文地址:https://www.cnblogs.com/shanyou/p/1307560.html
Copyright © 2011-2022 走看看