序言

在某些项目中,引入公式也是一个方便用户的需求,C#公式库最有名的莫过于Eval Expression,
看个例子:

var compiled_3 = Eval.Compile<Func<string, string, string>>("var a=  X.ToUpper() + Y; var b=  X.ToUpper() + Y;var c=  X.ToUpper() + Y;var d=  X.ToUpper() + Y;" +"var a1=  X.ToUpper() + Y; var b2=  X.ToUpper() + Y;var c2=  X.ToUpper() + Y;var d2=  X.ToUpper() + Y;" +"return a +d;", "X", "Y");
var results = compiled_3("City", "ABC");

是的,这个样子操作,感觉c#就是一个脚本语言了。

推荐

公式操作、表达式动态语句,可以考虑使用 Eval Expression。

解决方案:利用Eval Expression插件
插件官网:http://eval-expression.net/

特别文件

基于net5,我准备了特别文件 ,不需要每个月的重新下载了,可以使用到2099年。 下载参见地址

使用说明

因为是引用dll的关系,需要自己配置需要的包,包清单如下:

<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="5.0.0" />
<PackageReference Include="Microsoft.OData.Core" Version="7.8.3" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
<PackageReference Include="System.Collections.Concurrent" Version="4.3.0" />
<PackageReference Include="System.Collections.NonGeneric" Version="4.3.0" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.5.0" />
<PackageReference Include="System.Data.Common" Version="4.3.0" />
<PackageReference Include="System.Linq.Queryable" Version="4.3.0" />
<PackageReference Include="System.Reflection.Emit" Version="4.7.0" />
<PackageReference Include="System.Reflection.TypeExtensions" Version="4.5.0" />
<PackageReference Include="System.Xml.XPath" Version="4.3.0" />

C# EVAL EXPRESSION ——表达式引擎Eval Expression相关推荐

  1. 表达式树(EXPRESSION TREE)

    表达式树是不可执行的代码,它只是用于表示一种树状的数据结构,树上的每一个节点都表示为某种表达式类型,大概有25种表达式类型,它们都派生自Expression类.创建表达式树具体有两个优势: 1.对表达 ...

  2. java fel_Java表达式引擎fel/groovy/expression4j/java脚本引擎的性能对比【原创】

    又是性能对比,最近跟性能较上劲了. 产品中需要用到数学表达式,表达式不复杂,但是对性能要求比较高.选用了一些常用的表达式引擎计算方案,包含:java脚本引擎(javax/script).groovy脚 ...

  3. linux 生成字母序列,讲解在Linux平台中的Bash序列表达式(Sequence Expression)

    在本文中,我们将介绍Bash中序列表达式(Sequence Expression)的基础,以在Linux平台中为例.Bash序列表达式通过定义范围(Range)的起点和终点来生成整数或字符范围,它通常 ...

  4. c# 经验谈:巧用Expression表达式 解决类似于sql中 select in 的查询(适合于中小型项目)...

    我们在项目经常会碰到一些特殊需求 例如下拉框是复选的,查询条件是根据下拉框中复选项进行拼接 看到此图后大家肯定会说,这很简单嘛 将所有的选项 拼成"'1-3','5-9'"  然后 ...

  5. [css] 你有用过IE css的expression表达式吗?说说你对它的理解和它有什么作用呢?

    [css] 你有用过IE css的expression表达式吗?说说你对它的理解和它有什么作用呢? 主要用来解决IE 低版本样式自适应的问题. 比如:height:expression(this.of ...

  6. 第十五节:Expression表达式目录树(与委托的区别、自行拼接、总结几类实例间的拷贝)

    一. 基本介绍 回忆: 最早接触到表达式目录树(Expression)可能要追溯到几年前使用EF早期的时候,发现where方法里的参数是Expression<Func<T,bool> ...

  7. C#中利用Expression表达式树进行多个Lambda表达式合并

    在上一文中介绍使用了合并两个Lambda表达式,能两个就能多个,代码如下图所示: public static class ExpressionHelp{private static Expressio ...

  8. 详解Python中的生成器表达式(generator expression)

    生成器表达式(generator expression)也叫生成器推导式或生成器解析式,用法与列表推导式非常相似,在形式上生成器推导式使用圆括号(parentheses)作为定界符,而不是列表推导式所 ...

  9. idea中js函数中使用EL表达式报错expression expected以及参数underfined的问题.md

    EL表达式显示错误expression expected问题: ​ 这段代码在MyEclipse中没有问题,因为idea的严格代码检查,这里会显示expression expected的错误,原因是因 ...

最新文章

  1. 【生活随想】实习结束以及开始校园招聘
  2. 我的世界java版怎么打不开_JAVA版我的世界打不开,求助!
  3. 精算模型10 非参数模型0 精算数据、非参数建模的思路概述
  4. cpu,内存和disk使用报警脚本
  5. 【Java】Synchronized解析以及多种用法
  6. 基于android的高仿抖音,Android仿抖音列表效果
  7. 关于svn的安装配置开启服务过程和 eclipse安装SVN插件的方法
  8. STM32F103定时器输入捕获功能
  9. azure云数据库_Azure SQL数据库的性能调优
  10. JS写的简单的图片播放器
  11. 修改hosts文件,解决端口占用方法
  12. 齿轮的正负变位设计要点
  13. 第六节:通信之WLAN(SSID)
  14. 最完整的dos命令字典,IIS服务命令,FTP命令
  15. 如何通过三视图判断立方体个数_中考难点,由三视图确定小立方体个数的问题求解有策略...
  16. HTTP中POST和PUT的区别
  17. 2020 年 12 月编程语言排行榜
  18. Android含资源文件引用的项目打包成jar包
  19. Python更新pip错误解决方法
  20. 罗斯蒙特3051变送器的优势在哪里?

热门文章

  1. OpenGL随笔九 opengl使用glm 3D转2D投影
  2. android 表格控件 滚动条,tkinter给表格控件(treeview)添加滚动条
  3. IDEA自定义配色方案
  4. SpringBoot整合Mybatis逆向工程
  5. i3 7100黑苹果_五千元游戏主机请这样搭配:九代酷睿i3比你想象中更好用
  6. LibVLC+Qt调用libvlc_new在Debug下正确运行Release下崩溃(VS2008)
  7. python自定义类模拟三维向量及其运算_设计一个三维向量类,并实现向量的加法、减法以及向量与标量的乘...
  8. 1051: 平方根的和 ZZULIOJ
  9. PM配置详解之四:维护和服务处理
  10. 基于element组件商品sku多规格