小编给大家分享一下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表达式树的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。