系列目录    【已更新最新开发文章,点击查看详细】 <https://www.cnblogs.com/SavionZhang/p/11229640.html>
如果你使用过 LINQ,则会有丰富库(其中 Func 类型是 API 集的一部分)的经验。 (如果尚不熟悉 LINQ,建议阅读 LINQ 教程
<https://docs.microsoft.com/zh-cn/dotnet/csharp/linq/index>,以及本文前面有关 lambda 表达式
<https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions>
的文章。)表达式树提供与作为函数的参数的更丰富的交互。

在创建 LINQ 查询时,通常使用 Lambda 表达式编写函数参数。 在典型的 LINQ 查询中,这些函数参数会被转换为编译器创建的委托。

当想要进行更丰富的交互时,需要使用表达式树。 表达式树将代码表示为可以检查、修改或执行的结构。 这些工具让你能够在运行时操作代码。 
可以编写检查正在运行的算法的代码,或插入新的功能。 在更加高级的方案中,你可以修改正在运行的算法,甚至可以将 C#
表达式转换为另一种形式从而可在另一环境中执行。

你可能已经编写过使用表达式树的代码。 实体框架的 LINQ API 接受表达式树,以此作为 LINQ 查询表达式模式的参数。 这使得 Entity
Framework <https://docs.microsoft.com/zh-cn/ef/>(实体框架)能够将使用 C#
编写的查询转换为在数据库引擎中执行的 SQL。 另一个示例是 Moq <https://github.com/Moq/moq>,它是用于 .NET
的热门模拟框架。

本教程的其余部分将探索表达式树是什么、检查支持表达式树的框架类,并介绍如何使用表达式树。 
你将学习如何阅读表达式树、如何创建表达式树、如何创建修改的表达式树,以及如何执行表达式树所表示的代码。 阅读后,便可以开始使用这些结构来创建丰富的自适应算法。
系列目录    【已更新最新开发文章,点击查看详细】
<https://www.cnblogs.com/SavionZhang/p/11229640.html>

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信