C#一个方法传入一个算术参数,怎么计算这个算术题并返回一个Int值
C#一个方法传入一个算术参数,如何计算这个算术题并返回一个Int值
比如:
string strParamer = "90+10-50*2";
public int FindParamer(strParamer)
{
如何 计算 字符串 strParamer 里面的 90+10-50*2
并返回 计算的结果int值;
}
谢谢大家!
------解决方案--------------------
http://hi.baidu.com/odqljxdnckbenuq/item/29eb6b00742f61d8dce5b077
可以研究用Microsoft.JScript;来做
------解决方案--------------------
------解决方案--------------------
上次找过一个,现在懒得找了 试试google eval + .net吧
另外,可以用dynamic,查查.net的脚本语言吧
比如:
string strParamer = "90+10-50*2";
public int FindParamer(strParamer)
{
如何 计算 字符串 strParamer 里面的 90+10-50*2
并返回 计算的结果int值;
}
谢谢大家!
------解决方案--------------------
http://hi.baidu.com/odqljxdnckbenuq/item/29eb6b00742f61d8dce5b077
可以研究用Microsoft.JScript;来做
------解决方案--------------------
public int FindParamer(string strParamer)
{
CSharpCodeProvider provider = new CSharpCodeProvider();
CompilerParameters parameter = new CompilerParameters();
parameter.ReferencedAssemblies.Add("System.dll");
parameter.GenerateExecutable = false;
parameter.GenerateInMemory = true;
CompilerResults result =
provider.CompileAssemblyFromSource
(
parameter,
"using System;" +
"namespace calculate" +
"{" +
"public static class calculation" +
"{" +
"public static int calculateExpression()" +
"{" +
"return " + strParamer +
";}}}"
);
return Convert.ToInt32(result.CompiledAssembly.GetType("calculate.calculation").GetMethod("calculateExpression").Invoke(null,new object[]{}));
}
------解决方案--------------------
上次找过一个,现在懒得找了 试试google eval + .net吧
另外,可以用dynamic,查查.net的脚本语言吧