自定义Lamda表达式作为筛选条件
2010-11-06 16:13
316 查看
var ints = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// var r = ints.Where(i => (i > 5 && i <= 7) || (i == 3)); // 要a实μ现?的?表í达?式?
// 创′建¨参?数y i
var parameter = Expression.Parameter(typeof(int), "i");
// 创′建¨表í达?式? i > 5
var con1 = Expression.Constant(5);
var bin1 = Expression.GreaterThan(parameter, con1);
// 创′建¨表í达?式? i < 7
var con2 = Expression.Constant(7);
var bin2 = Expression.LessThanOrEqual(parameter, con2);
// 创′建¨表í达?式? i == 3
var con3 = Expression.Constant(3);
var bin3 = Expression.Equal(parameter, con3);
// 组é合? i > 5 && i <= 7
var body = Expression.And(bin1, bin2);
// 组é合? ( i > 5 && i <= 7) OR (i == 3)
body = Expression.Or(body, bin3);
var lambda = Expression.Lambda<Func<int, bool>>(body, parameter);
var _r = ints.Where(lambda.Compile());
FROM:http://www.rainsts.net/article.asp?id=535
// var r = ints.Where(i => (i > 5 && i <= 7) || (i == 3)); // 要a实μ现?的?表í达?式?
// 创′建¨参?数y i
var parameter = Expression.Parameter(typeof(int), "i");
// 创′建¨表í达?式? i > 5
var con1 = Expression.Constant(5);
var bin1 = Expression.GreaterThan(parameter, con1);
// 创′建¨表í达?式? i < 7
var con2 = Expression.Constant(7);
var bin2 = Expression.LessThanOrEqual(parameter, con2);
// 创′建¨表í达?式? i == 3
var con3 = Expression.Constant(3);
var bin3 = Expression.Equal(parameter, con3);
// 组é合? i > 5 && i <= 7
var body = Expression.And(bin1, bin2);
// 组é合? ( i > 5 && i <= 7) OR (i == 3)
body = Expression.Or(body, bin3);
var lambda = Expression.Lambda<Func<int, bool>>(body, parameter);
var _r = ints.Where(lambda.Compile());
FROM:http://www.rainsts.net/article.asp?id=535
相关文章推荐
- 自定义Lamda表达式作为筛选条件
- 自定义Lamda表达式作为筛选条件
- //使用条件表达式作为简单的“如果...那么...”判断。 #include <iostream> using namespace std; int main() { int score=2; s
- oracle中表中含有的日期字段如何作为筛选条件
- excel 常用使用技巧 二(数据筛选、条件格式、自动换行、自定义序列、自定义单位、冻结窗格)
- sql:case when的各种用法及怎么把case when放在where里面作为条件表达式
- Code First Entity Framework动态组合Lambda表达式作为数据筛选条件,代替拼接SQL语句
- 使用Lamda表达式作为回调函数
- 【转】EntityFramework动态组合Lambda表达式作为数据筛选条件,代替拼接SQL语句
- 使用datatables按自定义条件筛选数据
- wordpress 多条件筛选插件,wordpress 多重筛选,巧用自定义分类法,每个项目只能单选
- Java 8 stream()分组,过滤筛选 List<Object> 根据Object 中的某几个属性作为条件进行分组 去重过滤
- CSS id/class选择器以id/class和CSS属性选择器以为属性作为筛选条件在格式上的介绍
- Code First Entity Framework动态组合Lambda表达式作为数据筛选条件,代替拼接SQL语句
- combox值作为筛选条件
- Oracle中时间字段作为筛选条件
- istream对象作为条件表达式
- js中, 用变量或对象作为if或其他条件的表达式
- wordpress 多条件筛选插件,wordpress 多重筛选,巧用自定义分类法,每个项目只能单选
- 当我们使用某个表达式作为输出的一列时,我们无法再Where条件中直接使用该列作判断条件