-
Expression<>, Func<>, Action<>的区别与联系
Fun<>与Action<>
- Func<>与Action<>都是匿名委托, 二者的区别在于:
- Fun<>带返回值, 且至少有一个参数, Action<>不带返回值,且可以没有任何参数, 简而言之, Action<>比Func<>更加简单.
Fun<>与Expression表达式树
- Expression表达式树是一种数据结构, 用于存储粗腰计算, 运算的一种结构, 这种结构只可以存储而不能进行计算.
- Fun<>匿名函数一旦定义则不能在运行时进行改变, 改变是动态构造, 而不是重新定义, 表达式则可以.
- Fun<>需要将这种表达式换成另一种形式时, 则必须使用Expression辅助.
- Expression表达式树可以在运行时, 分析它的数据结构, 而Fun则不可以.
- Fun<>可以理解为是编译后的状态, Expression可以理解为编译前的状态.
总结
- 一般情况下需要将Expression表达式树进行配合使用, 用作在基类中.
example: Expression<Fun<T,bool>>predicate
-
相关阅读:
redis基本命令1
MySQL笔记01(黑马)
尚硅谷Java——宋红康笔记【day25-day29】
尚硅谷Java——宋红康笔记【day19-day24】
Java网络编程实践
框架高频面试题
多线程面试题
尚硅谷Java——宋红康笔记【day11-day18】
尚硅谷Java——宋红康笔记【day6-day10】
尚硅谷Java——宋红康笔记【day1-day5】
-
原文地址:https://www.cnblogs.com/lsb123/p/14239684.html
Copyright © 2020-2023
润新知