【发布时间】:2015-03-08 05:18:16
【问题描述】:
我需要动态创建表达式。我的问题是如何在 System.Linq.Expression 中添加括号来处理优先级...
int a = 1, b = 1, c = 1, d = 2;
我已经转换了下面的表达式
var v = a > 1 || b > 1 && c > 1 || d > 1;
Expression case1Expr =
Expression.AndAlso(
Expression.OrElse(
Expression.GreaterThan(Expression.Parameter(typeof(int), "a"), Expression.Constant(1)),
Expression.GreaterThan(Expression.Parameter(typeof(int), "b"), Expression.Constant(1))),
Expression.OrElse(
Expression.GreaterThan(Expression.Parameter(typeof(int), "c"), Expression.Constant(1)),
Expression.GreaterThan(Expression.Parameter(typeof(int), "d"), Expression.Constant(1))));
但是如何用括号转换一个,
var v2 = (a > 1 || b > 1) && (c > 1 || d > 1);
【问题讨论】:
标签: c# linq dynamic expression