浅谈c#表达式树Expression简单类型比较demo
作者:jingxian 时间:2023-07-20 06:24:01
实例如下:
using System;
using System.Linq.Expressions;
class DynamicPredicate
{
public static Expression<Func<T, T, bool>> Generate<T>(string op)
{
ParameterExpression x = Expression.Parameter(typeof(T), "x");
ParameterExpression y = Expression.Parameter(typeof(T), "y");
return Expression.Lambda<Func<T, T, bool>>
(
(op.Equals(">")) ? Expression.GreaterThan(x, y) :
(op.Equals("<")) ? Expression.LessThan(x, y) :
(op.Equals(">=")) ? Expression.GreaterThanOrEqual(x, y) :
(op.Equals("<=")) ? Expression.LessThanOrEqual(x, y) :
(op.Equals("!=")) ? Expression.NotEqual(x, y) :
Expression.Equal(x, y),
x,
y
);
}
}
static void Main()
{
string op = ">=";
var integerPredicate = DynamicPredicate.Generate<int>(op).Compile();
var floatPredicate = DynamicPredicate.Generate<float>(op).Compile();
int iA = 12, iB = 4;
Console.WriteLine("{0} {1} {2} : {3}",
iA, op, iB, integerPredicate(iA, iB));
float fA = 867.0f, fB = 867.0f;
Console.WriteLine("{0} {1} {2} : {3}",
fA, op, fB, floatPredicate(fA, fB));
Console.WriteLine("{0} {1} {2} : {3}",
fA, ">", fB, DynamicPredicate.Generate<float>(">").Compile()(fA, fB));
Console.ReadLine();
}
标签:expression,表达式树,c#
0
投稿
猜你喜欢
JAVA 中Spring的@Async用法总结
2023-11-28 16:35:58
Java使用OpenCV3.2实现视频读取与播放
2023-11-23 06:14:02
Java 集合概览(小结)
2023-11-08 02:50:37
Android 图片缩放与旋转的实现详解
2023-03-10 10:57:41
如何处理maven仓库中后缀LastUpdated文件
2022-01-21 22:15:44
Java判断两个日期相差天数的方法
2021-11-29 05:55:07
Android编程使用android-support-design实现MD风格对话框功能示例
2022-05-19 03:46:39
Java8 如何正确高效的使用并行流
2021-06-01 20:29:19
在Winform和WPF中注册全局快捷键实现思路及代码
2023-03-13 23:00:25
Android权限询问的实例详解
2022-10-03 21:28:51
浅谈Spring中单例Bean是线程安全的吗
2023-07-12 23:42:21
Android营造雪花和雨滴浪漫效果
2022-11-14 22:47:40
Java 实战范例之员工管理系统的实现
2023-03-31 08:09:33
SpringMVC接收复杂集合对象(参数)代码示例
2023-01-29 18:33:51
详解C#中通过委托来实现回调函数功能的方法
2021-08-14 05:02:58
datatable去掉重复行的方法
2023-09-02 19:59:41
浅谈Java slf4j日志简单理解
2021-07-07 15:49:15
Spring Cloud Gateway网关XSS过滤方式
2021-08-07 13:16:53
Java SpringBoot集成ChatGPT实现AI聊天
2021-08-21 21:55:23
java 示例讲解循环语句的使用
2021-12-17 06:23:01