是否有一种方法可以在C#中计算字符串并生成一个整数(假设字符串是一个等式)

时间:2010-12-08 06:42:16

标签: c# string expression evaluate

好的,我知道在Python中,你说有一个名为

的字符串

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

有一个python方法(函数,抱歉,我得到的术语很混乱)将评估该字符串并返回一个数字整数值(在这种情况下,它应该返回-12。我不记得python语法,因为我不久前在一个课程中做过(然后我摔断了手臂因为无法打字而不得不退出),但希望有人知道我的意思

有没有办法在C#中执行此操作

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

3 个答案:

答案 0 :(得分:1)

在C#中没有这样的方法,但您可以在运行时使用编译器轻松编写一个方法来评估表达式。查看CSharpCodeProvider

答案 1 :(得分:1)

您可以使用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();
        }
    }
}

答案 2 :(得分:0)

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