use*_*382 0 c# function string-parsing
我有一个文本框,我想读取用户输入的数学函数(例如:Math.Sqrt(x)等).
我一直用于控制台测试功能的代码是
static double f(double x)
{
double f;
f = Math.Sqrt(x);
return f;
}
Run Code Online (Sandbox Code Playgroud)
我不确定如何修改它:我是否读取字符串中的文本框内容,并将该字符串作为第二个参数添加到f函数中(static double f(double x,string s)?我应该解析什么类型的解析适用于字符串?
有几个公式解析器在那里,你可以使用.
基本上你需要某人/某事来评估你的公式.
我在自己的项目中成功使用了这个.它允许调用它
var ev =
new Eval3.Evaluator(
Eval3.eParserSyntax.c,/*caseSensitive*/
false);
MessageBox.Show(ev.Parse("1+2+3").value.ToString());
Run Code Online (Sandbox Code Playgroud)
我不建议使用的是C#代码的动态编译,因为它将每个编译的代码添加到您的应用程序域("app domain"),并且没有选项可以再次卸载它.(如我错了请纠正我).