Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中实现jseval#_C#_Javascript_Eval - Fatal编程技术网

C# 在C中实现jseval#

C# 在C中实现jseval#,c#,javascript,eval,C#,Javascript,Eval,可能重复: 副本 如何在C中实现JS eval()# 如果可能,请提供一个例子。。 谢谢您实际上可以使用C#中的JScripteval函数 使用以下JScript代码创建一个文件JsMath.js: class JsMath { static function Eval(expression : String) : double { return eval(expression); }; } 将其编译为DLL: jsc /t:library JsMat

可能重复:

副本

如何在C中实现JS eval()# 如果可能,请提供一个例子。。
谢谢

您实际上可以使用C#中的JScript
eval
函数

使用以下JScript代码创建一个文件JsMath.js:

class JsMath
{
    static function Eval(expression : String) : double
    {
        return eval(expression);
    };
}
将其编译为DLL:

jsc /t:library JsMath.js
将对JsMath.dll的引用添加到项目中。现在,您可以在代码中使用JsMath类:

double result = JsMath.Eval(expression);

如果您可以使用C#3.0/.NET 3.5,那么在MSDN代码库的DynamicQuery下有一个完全可操作的表达式解析器示例。这使得不仅可以计算单个表达式,甚至可以从它们创建函数(委托),或LINQ表达式。(
LinqDataSource
控件在内部使用此示例的稍微修改版本。)

转到并滚动到底部。请在左列中查找C#。

您是否可以将其包含到项目MSScript.dll中,如果可以,我将提供答案a=“/100”;a、 替换(“20”);字符串b=评估值(a);因此,我应该得到.2。我如何在C#中不使用JScript就可以做到这一点呢?取代eval(a);对于任何.NET语言中的快速评估,这是一个非常实用的解决方案。您还需要包括对Microsoft.JScript.dll的引用。