Dynamite动态排序库

该动态排序库支持SQL风格的排序表达式,可用于List<T>等集合的排序操作,性能高且使用方便。支持复杂表达式及嵌套属性。

易于使用和高性能动态排序库支持类似 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

转载于:https://www.cnblogs.com/shanyou/archive/2008/10/09/1307560.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值