var ints = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// var r = ints.Where(i => (i > 5 && i <= 7) || (i == 3)); // 要a实μ现?的?表í达?式?
// 创′建¨参?数y i
var parameter = Expression.Parameter(typeof(int), "i");
// 创′建¨表í达?式? i > 5
var con1 = Expression.Constant(5);
var bin1 = Expression.GreaterThan(parameter, con1);
// 创′建¨表í达?式? i < 7
var con2 = Expression.Constant(7);
var bin2 = Expression.LessThanOrEqual(parameter, con2);
// 创′建¨表í达?式? i == 3
var con3 = Expression.Constant(3);
var bin3 = Expression.Equal(parameter, con3);
// 组é合? i > 5 && i <= 7
var body = Expression.And(bin1, bin2);
// 组é合? ( i > 5 && i <= 7) OR (i == 3)
body = Expression.Or(body, bin3);
var lambda = Expression.Lambda<Func<int, bool>>(body, parameter);
var _r = ints.Where(lambda.Compile());
FROM:http://www.rainsts.net/article.asp?id=535
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述