是否有将评估一个字符串,并产生一个整数的方法(假设这个字符串是一个方程)在C#

问题描述:

好吧,我知道,在Python中,假设你有一个名为是否有将评估一个字符串,并产生一个整数的方法(假设这个字符串是一个方程)在C#

strExpression字符串,它的值是“ 1 + 2-(3 * 5)“

有一个Python方法(函数,抱歉,我得到的术语困惑),将评估该字符串并返回一个数字整数值(在这种情况下,它应该返回-12 。我不记得python的语法,因为我前一段时间在一门课程中做过(然后我打破了我的胳膊,不得不退出,因为我无法打字),但希望有人知道我的意思

有没有办法在C中做到这一点#

我只学习,并且正在创建一个简单的计算器程序,并且我已经做了一个基本的程序,允许您添加到前一个数字,但是我想扩展这有点为我自己的利益。非常感谢您的帮助。

+0

重复的问题:http://*.com/questions/333737/c-evaluating-string-342-yield -int-18 – Peter 2010-12-08 07:30:47

尝试this它使用的CodeDOM创建一个计算器

不是正好在C#这样的方法,但你可以很容易地使用编译器在运行时计算表达式写一个。检出CSharpCodeProvider

您可以使用它公开的所有客户端的Microsoft.JScript程序在C#中的javascript功能

using System; 
using Microsoft.JScript; 
using Microsoft.JScript.Vsa; 

namespace JustTest 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      object value = Eval.JScriptEvaluate("1+2-(3*5)", VsaEngine.CreateEngine()); 
      Console.Write(value); 
      Console.ReadLine(); 
     } 
    } 
}