看到园子的很多大牛最近 表达式树 这一快弄的挺热闹,我也来照葫芦画瓢一下 数据结构虽然不好,但是这点底子还是有的............... 中序遍历表达式树 static String MidTraversalExpressionTress(Expression expressTree) { ConstantExpression constantExpress = expressTree as ConstantExpression; if (constantExpress != null) { return constantExpress.Value.ToString(); } ParameterExpression parameterExpress = expressTree as ParameterExpression; if (parameterExpress != null) { return parameterExpress.Name; } BinaryExpression binaryExpress = expressTree as BinaryExpression; if (binaryExpress == null) { throw new ArgumentException("不支持表达式的类型", "exp"); } else { switch (binaryExpress.NodeType) { case ExpressionType.Add: return MidTraversalExpressionTress(binaryExpress.Left) + "+" + MidTraversalExpressionTress(binaryExpress.Right); break; case ExpressionType.Divide: return MidTraversalExpressionTress(binaryExpress.Left) + "/" + MidTraversalExpressionTress(binaryExpress.Right); break; case ExpressionType.Multiply: return MidTraversalExpressionTress(binaryExpress.Left) + "*" + MidTraversalExpressionTress(binaryExpress.Right); break; case ExpressionType.Subtract: return MidTraversalExpressionTress(binaryExpress.Left) + "-" + MidTraversalExpressionTress(binaryExpress.Right); break; default: throw new ArgumentException("不支持表达式的类型", "exp"); } } }