Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.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#_String_Command_Line - Fatal编程技术网

C# 有没有办法将字符串转换为命令?

C# 有没有办法将字符串转换为命令?,c#,string,command,line,C#,String,Command,Line,我在做一个计算器。要做正确的字符串分析程序,用字符解析字符串,这将是非常漫长和困难的,所以我想,有没有办法将字符串转换成这样的命令行: double num = "12/6+23*4"; 有一个简单的小技巧可以做到这一点。首先,导入名称空间 using System.Data; 然后呢, string math = "12.0/6+23*4"; decimal value = (decimal)new DataTable().Compute(math,

我在做一个计算器。要做正确的字符串分析程序,用字符解析字符串,这将是非常漫长和困难的,所以我想,有没有办法将字符串转换成这样的命令行:

double num = "12/6+23*4";

有一个简单的小技巧可以做到这一点。首先,导入名称空间

using System.Data;
然后呢,

string math = "12.0/6+23*4";
decimal value = (decimal)new DataTable().Compute(math, null);
//value = 94.0

你可以动态编译一个C#dll,它允许任何人运行恶意代码。除非你知道自己在做什么,否则不要评估任何事情。相反,将字符串拆分为“令牌”、单个数字、符号和运算符。使用令牌列表创建操作,然后对它们进行排序。根据您给出的简洁示例,很难判断任务的范围和上下文。考虑更多关于你打算使用计算器的地方。它是一个类的家庭作业,它将解析从CLI参数传递的字符串。要得到好的答案,需要更多的细节。