高防服务器

LINQ表达式树的示例分析


LINQ表达式树的示例分析

发布时间:2021-11-23 17:52:22 来源:高防服务器网 阅读:62 作者:小新 栏目:编程语言

小编给大家分享一下LINQ表达式树的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using System.Threading.Tasks;  using System.Linq.Expressions;  namespace ConsoleApplication3  {      class Program      {          static void Main(string[] args)          {              //重要的类**********************************              //BinaryExpression :双重的,二元,由两个东西组成的表达式              //ParameterExpression : 获取参数              IQueryable<int> a = Enumerable.Range(0, 1000).AsQueryable();              Expression<Func<int, bool>> expression = r => r < 20 && r == 2;              //======查询表达式树(expression)的参数(只有一个参数)              foreach (var item in expression.Parameters)              {                  Console.WriteLine("参数:{0},节点类型:{1}", item, item.NodeType);//输出:参数:r,节点类型:Lambda              }              //======查询表达式树(expression)的主体部分              //输出:主体部分:(r < 20 AndAlso r == 2),节点类型:Lambda              Console.WriteLine("主体部分:{0},节点类型:{1}", expression.Body, expression.NodeType);              //======查询表达式树(expression)左边的主体部分              //输出:(r < 20)     要把类型强制转换成BinaryExpression类型              Console.WriteLine(((BinaryExpression)expression.Body).Left);              //======查询表达式树(expression)左边的主体部分左边的变量类型              //Int32              Console.WriteLine(((BinaryExpression)((BinaryExpression)expression.Body).Left).Left.Type.Name);                Console.ReadKey();          }      }  }

以上是“LINQ表达式树的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注高防服务器网行业资讯频道!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[