08 2007 档案

利用System.Linq.Expressions实现四则运算计算器(三)
摘要:利用System.Linq.Expressions实现四则运算计算器(三)将表达式树转换成.NET定义的表达式树请大家留意上次提供的类图:抽象类BWExpression提供了一个抽象方法GetExpression,这个方法就是用于获取表达式类的。对于常量表达式BWConstantExpressionNode节点,GetExpression只需把数字作为常量表达式返回: ///<summary... 阅读全文

posted @ 2007-08-30 22:50 sdxd.bgl 阅读(1516) 评论(0) 推荐(2)

利用System.Linq.Expressions实现四则运算计算器(二)
摘要:利用System.Linq.Expressions实现四则运算计算器(二)如何将数学表达式转换成表达式树?上节提到用几个类来封装数学表达式,对于数学表达式“5*4/(3+2-1)”转换成表达式树后如下图:其中“表达式列表”和“/(3+2-1)”都是使用BWExpressionNodeCollection表示,“5&... 阅读全文

posted @ 2007-08-28 22:09 sdxd.bgl 阅读(1517) 评论(0) 推荐(1)

利用System.Linq.Expressions实现四则运算计算器(一)
摘要:利用System.Linq.Expressions实现四则运算计算器(一)  思路:将四则表达式分解成数字和运算符(+、-、×、÷),再根据运算符优先级组合成相应的Expression对象,生成表达式树,利用上次介绍的办法调用表达式编译后的代理,得到计算结果。  在《编译原理》中,提到用正则表达式实现词法分解,在现代编程语言中,我们可以充分利用正则表达式,将5*4/(3+2-1... 阅读全文

posted @ 2007-08-27 23:44 sdxd.bgl 阅读(1585) 评论(0) 推荐(0)

初识System.Linq.Expressions
摘要:初识System.Linq.Expressions本文介绍.Net Framework 3.5中,命名空间System.Linq.Expressions下有关类的使用。我们先来了解下Lambda表达式,在VS2008中,Lambda被编译成两种形式:一种是IL语言,另一种是Expression,即本文介绍的表达式。实现这两种方式,是出于不同用途的考虑。像Linq To SQL中,Lambda表达式... 阅读全文

posted @ 2007-08-27 22:49 sdxd.bgl 阅读(4971) 评论(1) 推荐(1)

导航