第二章 Expressions && Statements
第二章 Expressions && Statements
Expressions: 表达式
Statements: 语句
表达式和语句的区别
表达式: 有返回值
语句: 执行操作
// Expression |
将语句转换为表达式的技巧
- 用 LINQ 替代集合操作语句
- 用三元运算符(?:)代替 if-else
- 用递归代替循环(for、while、foreach)
Yagur Alex - Functional Programming with C - 2024.pdf - p32 - Techniques to convert statements to expressions
Linq
功能 | 方法名 | 示例 |
---|---|---|
过滤 | Where |
books.Where(b => b.Pages > 200) |
排序 | OrderBy / ThenBy |
books.OrderBy(b => b.Title) |
映射 | Select |
books.Select(b => b.Title.Length) |
聚合 | Aggregate |
nums.Aggregate((a, b) => a + b) |
平铺 | SelectMany |
authors.SelectMany(a => a.Books) |
平均 | Average |
books.Average(b => b.Title.Length) |
表达式树
表达式树提供了在运行时进行操作的能力
LINQ的底层就是表达式树
表达式树是一种数据结构,它以树状格式表示某些代码,其中每个节点都是一个表达式。表达式树是通过lambda 表达式构建的,并允许你将 lambda 表达式中的代码视为数据进行检查
Tasks and Solves
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 VanishingBlog!