C#动态表达式计算

应该有不少人开发过程中遇到过这样的需求,我们直接看图说话:

如上图所示,其中Entity为实体类,其中包括五个属性,该五个属性的值分别来自于数据库查询结果;

用户通过可视化界面进行某些条件的配置以及某些算法的配置并自动生成表达式或者生成数学模型;

程序中需要通过生成的表达式以及动态从数据库中获取的数据进行算法映射以及自动计算出结果。

该需求这边可以举出几个应用场景:

1、报表设计器

我们可以通过报表设计器设计数据库的映射关系并配置数据之间的算法关系,然后动态生成报表;

2、某些采集工具

定向采集指定数据集合并根据某些动态配置的逻辑进行;

3、数据挖掘和分析

面对这样的需求我们如何实现?

我们需要开发表达式映射引擎和脚本执行引擎?

假如要实现,该如何设计该框架?下一章我将呈现我们的解决方案,这一章就先说这么多,大家也可以畅谈以下自己的想法,忙了。。。

C#动态表达式计算,布布扣,bubuko.com

时间: 2024-12-06 14:49:56

C#动态表达式计算的相关文章

动态表达式计算

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Text.RegularExpressions; 6 7 namespace CalcTest 8 { 9 public class CalculateExpress 10 { 11 //验证计算表达式 此正则只适用于C# 其他语言不支持 12 private static Reg

.NET 表达式计算:Expression Evaluator

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

PHP 实现字符串表达式计算

什么是字符串表达式?即,将我们常见的表达式文本写到了字符串中,如:"$age >= 20",$age 的值是动态的整型变量. 什么是字符串表达式计算?即,我们需要一段程序来执行动态的表达式,如给定一个含表达式的字符串变量并计算其结果,而表达式字符串是动态的,比如为客户A执行的表达式是 $orderCount >= 10,而为客户B执行的表达式是 $orderTotal >= 1000. 场景在哪儿?同一份程序具有完全通用性,但差异就其中一个表达式而已,那么我们需要将其

表达式计算

1 #include<iostream> 2 #include<string> 3 #include<cstdlib> 4 #include<cstring> 5 #include<iomanip> 6 #include<stack> 7 using namespace std; 8 9 #define OK 0 10 #define ERROR -1 11 #define OVERFLOW -1 12 #define OPSETSI

C# - 二叉树表达式计算

很早以前就写过双栈的表达式计算. 这次因为想深入学一下二叉树,网上都是些老掉牙的关于二叉树的基本操作. 感觉如果就学那些概念,没意思也不好记忆.于是动手写了一个表达式计算的应用例子. 这样学习印象才深嘛. 我喜欢逆过来贴代码~ 这是运行结果: cal() 是节点类里的计算方法,从根节点调用,递归所有子节点进行计算.Left,Right分别是左右子节点. 1 public double cal() 2 { 3 if (this.isDig==false) 4 { 5 return CAL(Fuha

Vs2013在Linux开发中的应用(26):表达式计算

快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 当VS调试时将鼠标移到一个变量上面的时候,VS将显示这个变量的值,实际上这个时候VS进行了表达式的计算,我们所需要做的,就是把这个过程转换为gdb的命令: Operation Description -enable-pretty-printing enable Python-based pretty-printing -var-create create a variable object -v

HDU 2424-Gary&#39;s Calculator(表达式计算+大数)

Gary's Calculator Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 950    Accepted Submission(s): 209 Problem Description Gary has finally decided to find a calculator to avoid making simple cal

C++实现 逆波兰表达式计算问题

C++实现 逆波兰表达式计算问题 #include <iostream> #include <string> using namespace std; class Stack { private: int size; int top; float *listArray; public: Stack(int sz=20); ~Stack(); bool push(float it);//入栈 bool pop(float& it);//出栈 bool isEmpty();//

爪哇国新游记之二十二----算术表达式计算求值

代码: import java.util.ArrayList; import java.util.List; // 辅助类 class Item{ String value; boolean isNumber; public Item(String value,boolean isNumber){ this.value=value; this.isNumber=isNumber; } public Item(char c,boolean isNumber){ this.value=String.