c#程序设计语言精典运用实例,C#函数式程序设计:经典编程技术在现代项目中的应用 中文pdf扫描版[62MB]...

《C#函数式程序设计:经典编程技术在现代项目中的应用》绝大部分例子通过微软.NET平台上的C# 4.0语言来实现。少数几个例子采用其他语言,但是它们只是起演示作用。如果读者想测试这些例子,但是当前使用的并不是C# 4.0或 Visual Studi0 2010版本,则用C# 3.0或Visual Studi0 2008也能得到同样的效果—在C# 4.0中,新增加的功能并不是很多,而且这些功能都没有应用到例子中。但是,有几个例子利用了.NET Framework的功能(如Parallel Extensions),这些功能只出现在.NET 4.0中。

《C#函数式程序设计:经典编程技术在现代项目中的应用》介绍函数式程序设计的基本概念,以及如何把这些概念应用到C#语言中。作者尽量提供具有实用背景的示例,但是大多数例子只考虑到语言因素。函数式程序设计是一种与代码、算法和程序结构有关的技术——这一点不同于程序的体系结构。当然,它需要与程序的体系结构相兼容。须知,有时很难在太理论化与偏离重点之间做到理想的平衡,但是作者已尽了最大的努力。

在编写《C#函数式程序设计:经典编程技术在现代项目中的应用》时,作者专门开发了一个函数式的辅助代码库,即FCSlib(Functional CSharp Library)。读者在自己的项目中可以随意使用这个库,但是需要指出的是,该库无法提供任何保证。包含这个库代码的下载文件(有关下载文件的更多信息,请参阅“源代码”一节的内容)中还包括一个应用于FCSlib代码的LGPL许可文件。

目录

第Ⅰ部分 函数式程序设计引言

第1章 函数式程序设计简史

1.1 函数式程序设计简介

1.2 函数式程序设计语言

1.3 与面向对象程序设计的关系

1.4 小结

第2章 函数式程序设计思想在现代项目中的应用

2.1 控制副作用

2.2 敏捷开发方法

2.3 声明式程序设计

2.4 函数式程序设计的定向思维

2.5 用C#实现函数式程序设计的可行性

2.6 小结

第Ⅱ部分 C#函数式程序设计基础

第3章 函数、委托和Lambda表达式

3.1 函数与方法

3.2 重用函数

3.3 匿名函数与Lambda表达式

3.4 扩展方法

3.5 引用透明

3.6 小结

第4章 泛型

4.1 泛型函数

4.2 泛型类

4.3 约束类型

4.4 其他泛型类型

4.5 协变与逆变

4.6 小结

第5章 惰性列表工具——迭代器

5.1 什么是惰性

5.2 用.NET方法枚举元素

5.3 迭代器函数的实现

5.4 链式迭代器

5.5 小结

第6章 用闭包封装数据

6.1 动态创建函数

6.2 作用域存在的问题

6.3 闭包的工作机制

6.4 小结

第7章 代码即数据

7.1 .NET中的表达式树

7.2 分析表达式

7.3 生成表达式

7.4 .NET 4.0特性

7.5 小结

第Ⅲ部分 用C#实现常用的函数式设计技术

第8章 局部套用与部分应用

8.1 参数的解耦

8.1.1 手动局部套用

8.1.2 自动局部套用

8.1.3 调用局部套用函数

8.1.4 类上下文

8.1.5 FCSlib库的内容

8.2 调用函数的各部分

8.3 参数顺序的重要性

8.4 小结

第9章 惰性求值

9.1 惰性求值的优点

9.2 传递函数

9.3 显式的惰性求值

9.4 惰性求值方法的比较

9.4.1 可用性

9.4.2 效率

9.5 惰性求值方法的选择

9.6 小结

第10章 缓存技术

10.1 记住以前结果的重要性

10.2 预计算

10.3 缓存

10.3.1 深度缓存

10.3.2 缓存的几个考虑因素

10.4 小结

第11章 递归调用

11.1 C#中的递归

11.2 尾递归

11.3 累加器传递模式

11.4 后继传递模式

11.5 间接递归

11.6 小结

第12章 标准高阶函数

12.1 应用运算:Map

12.2 使用筛选条件:Filter

12.3 累加操作:Fold

12.4 LINQ中的Map、Filter和Fold

12.5 标准高阶函数

12.6 小结

第13章 序列

13.1 何为列表推导

13.2 用函数方法实现迭代器

13.3 值域

13.4 限制

13.5 小结

第14章 由函数构建函数

14.1 组合函数

14.2 高级的部分应用

14.3 各种方法的综合

14.4 小结

第15章 可选值

15.1 空值的含义

15.2 可选值的实现

15.3 小结

第16章 防止数据变化

16.1 变化不总是件好事

16.2 错误的假定

16.2.1 静态数据受欢迎

16.2.2 深度问题

16.2.3 克隆

16.2.4 自动克隆

16.3 实现不可变容器数据类型

16.3.1 链表

16.3.2 队列

16.3.3 非平衡的二叉树

16.3.4 红黑树

16.4 持久数据类型的替代选择

16.5 小结

……

第Ⅳ部分 函数式设计的实际应用

265f6ed92fd11ea06988da9d4d2973d3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值