我在配置文件(XML文件)中有一些值,其值如下:
<IncreamentInSeconds>24*60*60</IncreamentInSeconds>
...
我可以在那里放置86400值,但它更具描述性,因为它是一个计算表达式。这只是一个简单的例子。还有一些其他表达式,但它们都是一种计算表达式。
我不确定是否有任何方法可以解析表达式并在C#中获取结果值。我想过Excel组件可能会有所帮助,但我认为这可能会导致性能问题(用单元格加载excel工作表?)。任何其他方式来获得结果?
顺便说一下,我看到一些XCode示例通过使用shell命令来评估结果来获取表达式结果(shell甚至可以采用变量定义)。不确定Windows中是否有可以使用的shell命令,以便我可以执行shell命令来获得结果?
答案 0 :(得分:1)
执行此操作的最简单方法可能是使用Microsoft.JScript http://riteshk.blogspot.com/2007/05/how-to-calculate-value-with-regular.html
如果您想在不使用javascript库的情况下执行此操作,则可以始终使用反向波兰表示法: http://en.wikipedia.org/wiki/Reverse_Polish_notation
将中缀转换为RPN的链接: http://montcs.bloomu.edu/~bobmon/Information/RPN/infix2rpn.shtml
此处还有指向RPN表达式解析器的链接: http://www.codeproject.com/KB/cs/rpn_expressionparser.aspx
答案 1 :(得分:0)
我想我得到了答案。我发现CodeDOM cab用于从计算表达式中获取结果。