标题：F#语言程序设计
图书信息
书 名: F#语言程序  F#语言程序设计设计 
作　者：郑宇军
出版社： 清华大学出版社
ISBN: 9787302248927
出版时间： 2012年1月1日
开本： 16开
定价: 39.00元
内容简介
这是一门全新的NET核心编程语言，它在函数式程序设计语言的基础上融合了面向对象的思想，是开发未来NET应用特别是计算密集型和分布式系统的首选语言。《F#语言程序设计》由浅入深、由具体到抽象地介绍了F#语言的基础语法、编程范式和典型应用，同时提供了丰富的程序案例，能够帮助读者迅速掌握F#程序设计的基本方法和技巧。
《F#语言程序设计》适合作为高等院校教材，也可供专业开发人员学习参考。
图书目录
第1章 F#简介1
1.1 函数式程序设计语言和F#1
1.2 第一个F#应用程序2
1.3 开发工具和环境4
1.3.1 F#编译器4
1.3.2 Visual Studio IDE4
1.3.3 F#交互式控制台6
1.3.4 .NET Framework6
1.4 F#典型应用7
1.4.1 初等函数计算8
1.4.2 统计分析8
1.4.3 数列计算9
1.4.4 数学分析10
1.4.5 向量和矩阵计算11
1.4.6 组合优化算法12
1.5 控制台输入输出13
习题114
第2章 数值和类型16
2.1 基础值类型16
2.1.1 布尔数16
2.1.2 整数16
2.1.3 实数18
2.1.4 字符和字符串20
2.2 复合类型21
2.2.1 元组22
2.2.2 记录23
2.2.3 联合24
2.3 可变类型和引用类型25
2.3.1 可变类型25
2.3.2 引用类型27
2.4 可选类型28
习题229
第3章 函数30
3.1 函数基础30
3.1.1 函数定义30
3.1.2 形参和实参31
3.1.3 空参数和空返回值32
3.1.4 局部变量和全局变量34
3.2 更多调用方式35
3.2.1 参数前置与函数复合35
3.2.2 函数局部应用35
3.2.3 运算符作函数36
3.3 模式匹配37
3.3.1 模式匹配表达式37
3.3.2 匹配机制39
3.3.3 记录、联合和可选类型匹配40
3.4 递归函数41
3.5 调用CLR函数43
3.5.1 概述43
3.5.2 常用字符串函数44
3.6 程序实例研究——背包问题算法46
习题347
第4章 深入整数和实数运算49
4.1 数值比较49
4.2 整数位运算50
4.2.1 取补运算50
4.2.2 与、或、异或运算51
4.2.3 移位运算52
4.3 常用数学函数53
4.3.1 最大值和最小值54
4.3.2 绝对值和取整54
4.3.3 指数和对数函数54
4.3.4 三角函数55
4.4 数值转换与解析56
4.4.1 基础数值转换56
4.4.2 文本转换与解析58
4.5 大数运算59
4.5.1 使用bigint59
4.5.2 使用bignum61
4.6 程序实例研究——表达式求值62
习题463
第5章 流程控制65
5.1 选择结构65
5.2 循环结构67
5.2.1 while循环语句67
5.2.2 for循环语句68
5.2.3 循环遍历语句69
5.2.4 使用范围表达式71
5.3 异常处理72
5.3.1 错误和异常72
5.3.2 异常类型74
5.3.3 try-finally异常处理结构76
5.3.4 引发异常77
5.3.5 传播异常79
5.4 程序实例研究——素因数分解80
习题581
第6章 数组、向量和矩阵83
6.1 数组83
6.1.1 数组的定义和使用83
6.1.2 Array类型及其预定义函数85
6.1.3 多维数组87
6.2 向量90
6.2.1 向量的定义和使用90
6.2.2 向量运算91
6.3 矩阵93
6.3.1 矩阵的定义与使用93
6.3.2 矩阵运算94
6.3.3 矩阵的行向量与列向量96
6.4 程序实例研究——最短路径问题98
习题699
第7章 列表、集合和序列101
7.1 列表101
7.1.1 概述101
7.1.2 表连接操作102
7.1.3 表头和表尾103
7.1.4 其他List预定义函数104
7.1.5 高阶列表105
7.2 集合106
7.2.1 概述106
7.2.2 预定义集合操作107
7.3 序列109
7.3.1 序列的基本概念109
7.3.2 预定义序列操作111
7.3.3 序列创建表达式与延迟求值112
7.4 程序实例研究——全排列和幂集114
习题7115
第8章 高阶函数117
8.1 函数作为“值”117
8.1.1 概述117
8.1.2 函数作为参数118
8.1.3 高阶函数中的函数局部应用119
8.2 匿名函数119
8.2.1 匿名函数表达式119
8.2.2 函数作为返回值121
8.3 序列上的高阶函数123
8.3.1 测试和筛选124
8.3.2 迭代应用126
8.3.3 数值运算扩展128
8.3.4 卷叠129
8.3.5 展开131
8.3.6 序列函数的综合运用132
8.4 程序实例研究——数据拟合133
习题8135
第9章 类和对象137
9.1 面向对象的基本概念137
9.2 使用轻量级对象——记录和联合138
9.3 类的定义和使用139
9.3.1 类的定义139
9.3.2 构造函数和对象初始化140
9.3.3 函数成员中的可选参数和数组型参数144
9.4 属性和索引函数146
9.4.1 属性146
9.4.2 索引函数148
9.5 成员访问限制150
9.6 静态成员和非静态成员152
9.7 运算符重载154
9.8 .NET结构和枚举156
9.8.1 使用结构类型156
9.8.2 使用枚举类型157
9.9 程序实例研究——三角模糊数158
习题9160
第10章 继承和扩展162
10.1 继承162
10.1.1 类的继承定义162
10.1.2 覆盖基类成员164
10.1.3 基类与派生类的转换165
10.2 多态性166
10.2.1 虚拟与重载166
10.2.2 虚拟属性168
10.2.3 抽象成员和抽象类169
10.3 .NET基类Object170
10.3.1 使用Object对象170
10.3.2 重载ToString函数171
10.3.3 对象比较172
10.3.4 类型判断与匹配173
10.4 类型扩展174
10.4.1 类级扩展174
10.4.2 对象级扩展176
10.5 程序实例研究——几何图形类型177
习题10180
第11章 接口182
11.1 接口的定义与实现182
11.2 接口与多继承185
11.2.1 继承多个接口185
11.2.2 混合继承187
11.3 几个常用.NET接口188
11.3.1 ICloneable接口189
11.3.2 IComparable接口189
11.3.3 IDisposable接口190
11.4 接口扩展190
11.4.1 接口级扩展190
11.4.2 对象级扩展191
11.5 程序实例研究——票务接口与实现192
习题11195
第12章 泛型基础197
12.1 泛型的基本概念197
12.1.1 一般类型的不足197
12.1.2 定义泛型类198
12.1.3 定义泛型函数200
12.2 泛型结构、记录和联合200
12.2.1 泛型结构201
12.2.2 泛型记录201
12.2.3 泛型联合202
12.3 泛型接口与泛型集合202
12.3.1 泛型接口202
12.3.2 泛型集合与遍历204
12.3.3 .NET类库中的泛型集合206
12.4 程序实例研究——备忘录与高效算法209
习题12211
第13章 深入泛型技术213
13.1 类型参数的应用与限制213
13.1.1 使用多个类型参数213
13.1.2 操作“抽象型”对象214
13.1.3 类型限制214
13.2 泛型中的继承221
13.2.1 开放类型和封闭类型221
13.2.2 泛型继承规则221
13.3 泛型函数的高级应用223
13.3.1 泛型函数中的类型限制223
13.3.2 隐式泛型函数224
13.3.3 静态解析的类型参数225
13.3.4 内联泛型函数225
13.4 程序实例研究——抽象代数结构与算法227
习题13230
第14章 代码组织和管理232
14.1 代码组织结构232
14.1.1 模块232
14.1.2 命名空间233
14.1.3 使用简称235
14.2 程序集235
14.2.1 可执行文件235
14.2.2 动态链接库文件237
14.2.3 程序集中的访问限制238
14.3 代码注释238
14.3.1 单行和多行注释238
14.3.2 XML注释文档239
14.4 条件编译241
14.5 程序实例研究——概率分布函数库244
习题14248
第15章 Windows窗体应用基础249
15.1 Windows窗体类Form249
15.1.1 显示Windows窗体249
15.1.2 设置窗体属性250
15.2 常用窗体控件252
15.2.1 Control、容器控件和子控件252
15.2.2 标签、文本框和数值框253
15.2.3 按钮、单选框和复选框255
15.2.4 组合框和列表框256
15.3 响应控件事件257
15.3.1 事件基础257
15.3.2 常用控件事件259
15.4 自定义窗体261
15.5 使用Visual Studio窗体设计器263
15.6 程序实例研究——用户注册窗体266
习题15269
第16章 Windows窗体应用进阶271
16.1 更多Windows控件271
16.1.1 时间和日期控件271
16.1.2 滑块、进度条和滚动条272
16.1.3 列表视图和树状视图274
16.1.4 工具栏、菜单栏和状态栏275
16.1.5 为控件显示图像277
16.2 绘图278
16.2.1 GDI+基础278
16.2.2 绘制各种线条和形状280
16.2.3 填充形状281
16.3 打印283
16.4 程序实例研究——绘制几何图形285
习题16288
第17章 文件读写290
17.1 驱动器、目录和文件290
17.1.1 驱动器290
17.1.2 目录291
17.1.3 文件293
17.2 文件流和读写器295
17.2.1 使用文件流295
17.2.2 文本读写器297
17.2.3 二进制读写器298
17.3 XML文档操作299
17.3.1 XML读写器299
17.3.2 XML文档对象操作301
17.4 程序实例研究——列车时刻表302
习题17305
第18章 关系数据访问306
18.1 ADONET数据访问技术306
18.2 数据表和数据集307
18.2.1 使用数据表307
18.2.2 使用数据集309
18.2.3 显示数据内容309
18.3 访问数据库311
18.3.1 建立数据连接311
18.3.2 执行数据命令312
18.3.3 使用数据适配器314
18.4 程序实例研究——学生成绩查询分析316
习题18320
第19章 并行程序设计322
19.1 多线程322
19.1.1 进程与线程322
19.1.2 运行多线程323
19.1.3 线程资源共享325
19.2 使用BackgroundWorker327
19.3 并行序列操作331
19.4 异步计算332
19.4.1 使用异步工作流332
19.4.2 异步绑定和返回336
19.4.3 异步任务模式337
19.4.4 异步文件读写339
19.4.5 异步数据库访问341
19.5 异步消息342
19.6 程序实例研究——并行启发式搜索345
习题19347
参考文献349