我想使用C#.Net在Windows窗体中创建一个文本框,它将能够处理简单的计算。例如,如果用户在文本框=5*7
中写入,那么当文本框得到验证textbox.Text = 35
时。
我的问题是如何将字符串"=5*7"
转换为doubles
和符号以便进行计算。
答案 0 :(得分:2)
在这里使用CodeAnalysis.CSharp.Scripting库如何使用它wiki
答案 1 :(得分:0)
您可以使用CodeAnalysis.CSharp.Scripting库。它是available from Nuget
using Microsoft.CodeAnalysis.CSharp.Scripting;
using System;
namespace ExpressionParser
{
class Program
{
static void Main(string[] args)
{
//Demonstrate evaluating C# code
var result = CSharpScript.EvaluateAsync("System.DateTime.Now.AddDays(-1) > System.DateTime.Now").Result;
Console.WriteLine(result.ToString());
//Demonstrate evaluating simple expressions
var result2 = CSharpScript.EvaluateAsync(" 5 * 7").Result;
Console.WriteLine(result2);
Console.ReadKey();
}
}
}
nuget包:
< package id =" Microsoft.CodeAnalysis.Analyzers"版本=" 1.1.0" targetFramework =" net461" /> < package id =" Microsoft.CodeAnalysis.Common"版本=" 1.1.1" targetFramework =" net461" /> < package id =" Microsoft.CodeAnalysis.CSharp"版本=" 1.1.1" targetFramework =" net461" /> < package id =" Microsoft.CodeAnalysis.CSharp.Scripting"版本=" 1.1.1" targetFramework =" net461" /> < package id =" Microsoft.CodeAnalysis.Scripting"版本=" 1.1.1" targetFramework =" net461" /> < package id =" Microsoft.CodeAnalysis.Scripting.Common"版本=" 1.1.1" targetFramework =" net461" />