欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > C# >内容正文

C#

c# 拼接lambda表达式 (转载)

发布时间:2025/6/16 C# 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 c# 拼接lambda表达式 (转载) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

项目中用到,找不到出处了

1. 添加类:

public static class PredicateExtensions{public static Expression<Func<T, bool>> True<T>(){return f => true;}public static Expression<Func<T, bool>> False<T>(){return f => false;}public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> expression1, Expression<Func<T, bool>> expression2){var invokedExpression = Expression.Invoke(expression2, expression1.Parameters.Cast<Expression>());return Expression.Lambda<Func<T, bool>>(Expression.Or(expression1.Body, invokedExpression), expression1.Parameters);}public static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> expression1, Expression<Func<T, bool>> expression2){var invokedExpression = Expression.Invoke(expression2, expression1.Parameters.Cast<Expression>());return Expression.Lambda<Func<T, bool>>(Expression.And(expression1.Body, invokedExpression), expression1.Parameters);}}

 

2. 用法:

Expression<Func<XXX, bool>> expression = t => true;expression = expression.And(t => t.AAA == 1);expression = expression.And(t => t.BBB > 1);var ds = products.AsQueryable().Where(expression).ToList();

转载于:https://www.cnblogs.com/paopaohui/p/7885954.html

总结

以上是生活随笔为你收集整理的c# 拼接lambda表达式 (转载)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。