-
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
-
相关阅读:
一个JS的问题,请帮下忙!
开始练习VS2003了
SQL查询结果的合并问题
几个微软的好东西!
对谷歌输入发的一点疑虑
Visual studio 2005 sdk 安装引起的后果
Socket协议测试:TPS偏低,和响应时间计算出来的TPS不相符的问题
数据库索引失效
挡板模拟器桩模块驱动模块
nmon 监控结果
-
原文地址:https://www.cnblogs.com/lsb123/p/14239684.html
Copyright © 2020-2023
润新知