string a="2-1+3";
然后我想根据这个字符串表达式计算出结果,也就是4
如何实现呢?
13 个解决方案
#2
动态编译
#3
DataTable dt = New DataTable();
string a="2-1+3";
Console.WriteLine(dt.Compute(a, ""));
string a="2-1+3";
Console.WriteLine(dt.Compute(a, ""));
#4
http://topic.csdn.net/u/20110430/02/a3a306f8-2e21-4271-b3c5-35e2018933be.html
#5
顺便再问个问题可以吗?
System.Xml.XmlWriter a = System.Xml.XmlWriter.Create("E:\\a.xml");
a.WriteStartDocument();
a.WriteStartElement("abc");
a.WriteValue(new Rectangle(0, 0, 10, 10)); //我想写入一个Rectangle,可以实现吗?如果不能,怎么保存Rectangle到xml中去呢?
a.Close();
#6
a.WriteValue(string.Format("{0},{1},{2},{3}", 0, 0, 10, 10));
#7
那要怎么读取并转换成Rectangle呢?
#8
string s = "0,0,10,10";
int[] param = s.Split(',').Select(x => Convert.ToInt32(x)).ToArray();
Rectangle rect = new Rectangle(param[0], param[1], param[2], param[3]);
#9
动态编译?LZ可以去看下System.CodeDom,System.CodeDom.Compiler下的类
#10
Spring.net 的 Expression Evaluation有该功能,可以学习下。
如果是在web页面上的话js的eval更简单
如果是在web页面上的话js的eval更简单
#11
菜鸟飘过看看了
#12
object obj = Microsoft.JScript.Eval.JScriptEvaluate("1+2", Microsoft.JScript.Vsa.VsaEngine.CreateEngine()).ToString();
//obj=3
#13
#1
#2
动态编译
#3
DataTable dt = New DataTable();
string a="2-1+3";
Console.WriteLine(dt.Compute(a, ""));
string a="2-1+3";
Console.WriteLine(dt.Compute(a, ""));
#4
http://topic.csdn.net/u/20110430/02/a3a306f8-2e21-4271-b3c5-35e2018933be.html
#5
顺便再问个问题可以吗?
System.Xml.XmlWriter a = System.Xml.XmlWriter.Create("E:\\a.xml");
a.WriteStartDocument();
a.WriteStartElement("abc");
a.WriteValue(new Rectangle(0, 0, 10, 10)); //我想写入一个Rectangle,可以实现吗?如果不能,怎么保存Rectangle到xml中去呢?
a.Close();
#6
a.WriteValue(string.Format("{0},{1},{2},{3}", 0, 0, 10, 10));
#7
那要怎么读取并转换成Rectangle呢?
#8
string s = "0,0,10,10";
int[] param = s.Split(',').Select(x => Convert.ToInt32(x)).ToArray();
Rectangle rect = new Rectangle(param[0], param[1], param[2], param[3]);
#9
动态编译?LZ可以去看下System.CodeDom,System.CodeDom.Compiler下的类
#10
Spring.net 的 Expression Evaluation有该功能,可以学习下。
如果是在web页面上的话js的eval更简单
如果是在web页面上的话js的eval更简单
#11
菜鸟飘过看看了
#12
object obj = Microsoft.JScript.Eval.JScriptEvaluate("1+2", Microsoft.JScript.Vsa.VsaEngine.CreateEngine()).ToString();
//obj=3