相关疑难解决方法(0)

如何动态评估C#表达式?

我想做相当于:

object result = Eval("1 + 3");
string now    = Eval("System.DateTime.Now().ToString()") as string
Run Code Online (Sandbox Code Playgroud)

在Biri的链接之后,我得到了这个片段(修改后删除了过时的方法ICodeCompiler.CreateCompiler():

private object Eval(string sExpression)
{
    CSharpCodeProvider c = new CSharpCodeProvider();
    CompilerParameters cp = new CompilerParameters();

    cp.ReferencedAssemblies.Add("system.dll");

    cp.CompilerOptions = "/t:library";
    cp.GenerateInMemory = true;

    StringBuilder sb = new StringBuilder("");
    sb.Append("using System;\n");

    sb.Append("namespace CSCodeEvaler{ \n");
    sb.Append("public class CSCodeEvaler{ \n");
    sb.Append("public object EvalCode(){\n");
    sb.Append("return " + sExpression + "; \n");
    sb.Append("} \n");
    sb.Append("} \n");
    sb.Append("}\n");

    CompilerResults cr = c.CompileAssemblyFromSource(cp, sb.ToString());
    if (cr.Errors.Count > 0)
    {
        throw …
Run Code Online (Sandbox Code Playgroud)

c# reflection eval

49
推荐指数
3
解决办法
9万
查看次数

评估数学表达式的最佳和最短的方法

有许多算法来评估表达式,例如:

  1. 通过递归下降
  2. 调车场算法
  3. 反向波兰表示法

有没有办法用C#.net反射或其他现代.net技术评估任何数学表达式?

.net c# evaluation expression

17
推荐指数
2
解决办法
2万
查看次数

NCalc:还有其他选择吗?

有没有人知道比NCalc更新的表达式评估器?最后一个版本是在2011年,一个(非常)快速的谷歌搜索几乎没有从我能看到的内容返回.

c# ncalc

5
推荐指数
2
解决办法
5267
查看次数

将表达式从文本框转换为代码隐藏中的数学表达式

可能重复:
我需要一个快速的运行时表达式解析器

如果有人在我的页面上的文本框中键入x*y ^ z来计算后面代码中的等式并得到结果,我怎么做呢?

c# math equation equations

2
推荐指数
2
解决办法
5400
查看次数

计算器总计失败

我正在使用C#编写计算器.

namespace Calculator
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        public void Total(string num)   
        {
            lblTotal.Content = Convert.ToString(lblTotal.Content) + num;
        }
        private void one_Click(object sender, RoutedEventArgs e)
        {
            Total( Convert.ToString(1) );
        }
        private void two_Click(object sender, RoutedEventArgs e)
        {
            Total( Convert.ToString(2) );
        }
        private void three_Click(object sender, RoutedEventArgs e)
        {
            Total( Convert.ToString(3) );
        }
        private void four_Click(object sender, RoutedEventArgs e)
        {
            Total( Convert.ToString(4) );
        }
        private void five_Click(object sender, RoutedEventArgs e)
        {
            Total( Convert.ToString(5) …
Run Code Online (Sandbox Code Playgroud)

c# wpf

1
推荐指数
1
解决办法
225
查看次数

标签 统计

c# ×5

.net ×1

equation ×1

equations ×1

eval ×1

evaluation ×1

expression ×1

math ×1

ncalc ×1

reflection ×1

wpf ×1