http://dynamiclinq.codeplex.com/

10万回 用动态表达式 0.19s ,普通Lamba 0.02s,效率还可以

/*
User: Peter
Date: 2016/4/12
Time: 14:20 */
using System;
using System.Linq.Dynamic;
using System.Linq.Expressions;
using NUnit.Framework; namespace Penseesoft.Utility.Tester.Daily
{
public class TestInt
{
public int Value
{
get;
set;
}
}
[TestFixture]
public class Test111
{
[Test]
public void TestMethod()
{ Expression<Func<TestInt,bool>> e = DynamicExpression.ParseLambda<TestInt,bool>("Value%2==0");
Func<TestInt,bool> b = e.Compile();
TestInt pi = new TestInt();
for(int i = ;i<;i++)
{
pi.Value = i;
b(pi);
}
} [Test()]
public void Test1()
{
Func<int,bool> b = i=>i%==;
for(int i = ;i<;i++)
{
b(i);
}
}
}
}

System.Linq.Dynamic的更多相关文章

  1. System.Linq.Dynamic的使用

    项目中经常用到组合条件查询,根据用户配置的查询条件进行搜索,拼接SQL容易造成SQL注入,普通的LINQ可以用表达式树来完成,但也比较麻烦.有个System.Linq.Dynamic用起来比较方便. ...

  2. System.Linq.Dynamic 和Nhibernate

    var session = NHibernateSessionManager.Instance.GetSession(); "); var staffList = session.Query ...

  3. 【转】借助System.Linq.Dynamic, IQueryable根据排序字符串排序

    在使用Entity Framework时,若有多个排序,需要OrderBy (OrderByDescending)再ThenBy (ThenByDescending) 假设需要根据Name升序排序,再 ...

  4. 借助System.Linq.Dynamic, IQueryable根据排序字符串排序

    在使用Entity Framework时,若有多个排序,需要OrderBy (OrderByDescending)再ThenBy (ThenByDescending) 假设需要根据Name升序排序,再 ...

  5. EF Core中关于System.Linq.Dynamic.Core的使用(转载)

    项目中经常用到组合条件查询,根据用户配置的查询条件进行搜索,拼接SQL容易造成SQL注入,普通的LINQ可以用表达式树来完成,但也比较麻烦.有个System.Linq.Dynamic.Core用起来比 ...

  6. System.Linq.Dynamic 动态查询

    安装 VS->工具栏->NuGet程序管理器,System.Linq.Dynamic 注意: 使用动态查询必须先调用AsQueryable()方法,因为动态扩展仅适用于实现IQueryab ...

  7. System.Linq.Dynamic字符串转委托

    以前一直想着有没有一个方法能够把字符串直接转化成函数的,刚好有需求就找了下,还真有. 微软地址:https://docs.microsoft.com/en-us/previous-versions/b ...

  8. 整理一下 System.Linq.Enumerable 类中的那些比较少用的方法

    Linq 虽然用得多,但是里面有一些方法比较少用,因此整理一下.Enumerable 类的所有方法可以在 MSDN 上查阅到:https://msdn.microsoft.com/zh-cn/libr ...

  9. vs2013c#测试using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1_CXY { class Program { stati

    首先安装Unit Test Generator.方法为:工具->扩展和更新->联机->搜索“图标为装有蓝色液体的小试管.Unit Test Generator”, 编写代码,生成一个 ...

随机推荐

  1. HDU1435,好开心,稳定婚姻

    费了三天,终于解决了各种BUG,PASS,好开心,这才是ACM真正的快乐,就在AC的那刻, 网上基本没甚程序,开始被各种变量名搞晕,无语!!! 有几个题目没说的东西:认为序号是1-N, 然后先排序,弄 ...

  2. 深入理解asp.net SessionState

    web Form 网页是基于HTTP的,它们没有状态, 这意味着它们不知道所有的请求是否来自同一台客户端计算机,网页是受到了破坏,以及是否得到了刷新,这样就可能造成信息的丢失. 于是, 状态管理就成了 ...

  3. ”sql Server2008 应用程序无法启动,因为应用程序的并行配置不正确。 找不到从属程序集。“C:\windows\SysWOW64\DTSPipelinePerf100.dll”的激活上下文生成失败“的解决方案

    一:控制面板->管理工具->事件查看器->windows日志->应用程序   查看错误原因: 二:在其他机子上拷贝一个DTSWizard.exe.config文件替换本机上已经 ...

  4. HTTP协议中的5类状态码

    ①   客户方错误      100   继续      101   交换协议     ②   成功      200    OK      201    已创建      202   接收      ...

  5. vc++ 获取当前用户名

    #include<afxwin.h> #include <stdio.h> int main(void) { char userName[MAX_PATH]; unsigned ...

  6. Linux网络编程2——系统函数

    socket信息数据结构 #include <netinet/in.h> struct sockaddr { unsigned short sa_family; /*地址族*/ ]; /* ...

  7. Ajax的进阶学习(一)

    在Ajax课程中,我们了解了最基本的异步处理方式.本章,我们将了解一下Ajax的一些全局请求事件.跨域处理和其他一些问题. 加载请求 在Ajax异步发送请求时,遇到网速较慢的情况,就会出现请求时间较长 ...

  8. 如何修改Linux系统的TTL值

    在网络中,黑客如果用ping命令去探测  一个主机,根据TTL基数可以推测操作系统的类型.对于一个没有经过任何网关和路由的网络, 直接ping对方系统得到的TTL值,被叫做"TTL基数&qu ...

  9. hdu2022(water~~)海选女主角

    http://acm.hdu.edu.cn/showproblem.php?pid=2022 二B了,没读题直接错了两次....郁闷 #include <iostream> #includ ...

  10. 欧拉工程第53题:Combinatoric selections

    package projecteuler51to60; class p53{ void solve1(){ int count=0; int Max=1000000; int[][] table=ne ...