本文介绍表达式中允许的运算符表达式,如一元、二元、三元运算符等等 会简易的提供几个运算应用的代码小示例 下面列出各个运算符表达式
一元运算符
!// Expression.Not(Expression.Constant(false));
~// Expression.Not(Expression.Constant(0));
++i// ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.PreIncrementAssign(i);
--i // ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.PreDecrementAssign(i);
i++// ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.PostIncrementAssign(i);
i--// ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.PostDecrementAssign(i);
二元运算符
+ // Expression.Add(Expression.Constant(1), Expression.Constant(2));
- // Expression.Subtract(Expression.Constant(1), Expression.Constant(2));
* // Expression.Multiply(Expression.Constant(1), Expression.Constant(2));
/// Expression.Divide(Expression.Constant(1), Expression.Constant(2));
&// Expression.And(Expression.Constant(1), Expression.Constant(2));
|// Expression.Or(Expression.Constant(1), Expression.Constant(2));
^// Expression.ExclusiveOr(Expression.Constant(1), Expression.Constant(2)); // XOR
&&// Expression.AndAlso(Expression.Constant(true), Expression.Constant(false));
||// Expression.OrElse(Expression.Constant(true), Expression.Constant(false));
>>// Expression.RightShift(Expression.Constant(32), Expression.Constant(1));
<<// Expression.LeftShift(Expression.Constant(32), Expression.Constant(1));
+=// ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.AddAssign(i, Expression.Constant(1));
-=// ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.SubtractAssign(i, Expression.Constant(1));
|=// ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.OrAssign(i, Expression.Constant(1));
^=// ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.ExclusiveOrAssign(i, Expression.Constant(1));
&=// ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.AndAssign(i, Expression.Constant(1));
>>= // ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.RightShiftAssign(i, Expression.Constant(1));
<<= // ParameterExpression i = Expression.Parameter(typeof(int), "i");
Expression.LeftShiftAssign(i, Expression.Constant(1));
< // Expression.LessThan(Expression.Constant(0), Expression.Constant(1));
<= // Expression.LessThanOrEqual(Expression.Constant(0), Expression.Constant(1));
> // Expression.GreaterThan(Expression.Constant(0), Expression.Constant(1));
>= // Expression.GreaterThanOrEqual(Expression.Constant(0), Expression.Constant(1));