.NET Expression 从零开始三:运算符

来源:互联网 发布:龙与地下城游戏 知乎 编辑:程序博客网 时间:2024/06/07 08:11

本文介绍表达式中允许的运算符表达式,如一元、二元、三元运算符等等 会简易的提供几个运算应用的代码小示例 下面列出各个运算符表达式

一元运算符

!// 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));

阅读全文
0 0
原创粉丝点击