带运算符的字符串如何转换成数字和另一个问题
比如:在一个TextBox里输入(1+2)*3.这是个字符串类型,如何得到计算后的结果9呢??
第二个问题就是:昨天我上个网站,把鼠标模拟成了笔,可以通过按下,点击,移动等动作在上面写字,觉得挺有意思。这怎么实现的??
[解决办法]
/// <summary>
/// 计算一个表达式的结果
/// </summary>
/// <param name= "expression "> 表达式 </param>
/// <returns> </returns>
public static object Eval(string expression)
{
System.Data.DataTable table = new System.Data.DataTable();
System.Data.DataColumn Col = new System.Data.DataColumn( "col1 ", typeof(string), expression);
table.Columns.Add(Col);
table.Rows.Add(new object[] { " " });
return table.Rows[0][0];
}
[解决办法]
可以通过调用脚本实现,
http://blog.csdn.net/zhzuo/archive/2004/04/26/22031.aspx
C# Script (missing puzzle piece)
By Oleg Shilo
http://www.codeproject.com/csharp/cs-script_for_CP.asp
C# Script for .NET 2.0
http://www.codeproject.com/csharp/CSharpScript.asp