Is there a method that will evaluate a string and produce an integer (assuming the string is an equation) in C#
Okay, I know that in Python, say you had a string called
strExpression and it's value was "1+2-(3*5)"
There is a python method (function, sorry I get the terms confused) that will evaluate that string and return a numerical integer value (in this case, it should return -12. I don't recall the python syntax because I did it a while ago in a course (and then I broke my arm and had to quit because I couldn't type), but hopefully someone knows what I mean
Is there a way to do this in C#
I am only learning, and am creating a simple calculator program, and I have made a basic one that allows you to add to the previous number, but I would li开发者_开发百科ke to extend it a bit for my own benefit. Thank you very much for any help.
There isn't exactly such a method in C#, but you can easily write one using the compiler at runtime to evaluate the expression. Check out CSharpCodeProvider
.
You can use the Microsoft.JScript which exposes all client side javascript functions in C#
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();
}
}
}
Try this it uses CodeDOM to create a calculator
精彩评论