zoukankan      html  css  js  c++  java
  • .NET 表达式计算:Expression Evaluator

    Expression Evaluator 是一个轻量级的可以在运行时解析C#表达式的开源免费组件。表达式求值应该在很多地方使用,例如一些工资或者成本核算系统,就需要在后台动态配置计算表达式,从而进行计算求值。相比 NCal,还是这个 Expression Evaluator 比较强大,虽然部分功能有重叠。也都能计算常规的数学表达式。

    Expression Evaluator 支持的特性有:

    • 支持算术运算符,支持关系运算符,以及逻辑运算符

    • 支持表达式分组和括号,以及递增递减运算符

    • 支持表达式属性访问以及动态类型,支持字符串的+运算

    • 支持数值类型的后缀d/f/m/l/u/ul、

    • 支持隐式表达式,以及成员访问操作符(.)

    • 支持一些默认的类型,如double, float, char, string, DateTime, Convert, Math

    • 支持foreach循环

    • 。。。等等,更多功能还期待你的使用和发现

    简单的数值表达式就不演示了,看一个比较有新意的代码:

    class MyClass
    {
         public string[] myExternalString;
         public int x;
    }
      
    var v = new MyClass();
    v.myExternalString = new string[] { "Hello", "there", "World!" };
    v.x = 2;
    //关键点,注册符号v
    registry.RegisterSymbol("v", v);
    //动态计算属性
    //返回结果是"there",因为v.x=2,2/2=1,所以返回索引1的值
    "v.myExternalString[v.x/2]"

    项目主页:http://www.open-open.com/lib/view/home/1435843266122

  • 相关阅读:
    Java 线程
    杂记
    字符流分类详细介绍和各种字符流类介绍与使用 字符集
    内部类 与 匿名内部类
    Java IO流学习总结
    java的集合框架
    jquery 只能投票一次
    C# 简易版的计算器程序
    常用DBHelper类
    jQuery异步提交
  • 原文地址:https://www.cnblogs.com/screes/p/6050592.html
Copyright © 2011-2022 走看看