图书介绍
C#4.0捷径教程2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- (美)纳什著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115243423
- 出版时间:2011
- 标注页数:497页
- 文件大小:29MB
- 文件页数:511页
- 主题词:C语言-程序设计-教材
PDF下载
下载说明
C#4.0捷径教程PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 C#预览1
1.1 C#和C++的区别1
1.1.1 C1
1.1.2 C++2
1.1.3 CLR垃圾回收2
1.2 C#程序示例3
1.3 C#2.0新特性概览4
1.4 C#3.0新特性概览5
1.5 C#4.0新特性概览6
1.6 小结6
第2章 C#和CLR8
2.1 CLR中的JIT编译器8
2.2 程序集及程序集加载器10
2.2.1 程序工作集最小化10
2 2.2 给程序集命名11
2.2.3 加载程序集11
2.3 元数据11
2.4 交叉语言的兼容性12
2.5 小结13
第3章 C#语法概述14
3.1 C#是一门强类型的语言14
3.2 表达式15
3.3 语句和表达式16
3.4 类型和变量16
3.4.1 值类型18
3.4.2 引用类型20
3.4.3 默认变量初始化21
3.4.4 隐式类型化局部变量22
3.4.5 类型转换23
3.4.6 as和is操作符25
3.4.7 泛型27
3.5 命名空间28
3.5.1 定义命名空间28
3.5.2 使用命名空间29
3.6 控制流30
3.6.1 if-else、while、do-while和for31
3.6.2 switch31
3.6.3 foreach31
3.6.4 break、continue、goto、return和throw32
3.7 小结32
第4章 类、结构和对象33
4.1 类定义34
4.1.1 字段35
4.1.2 构造函数37
4.1.3 方法38
4.1.4 属性39
4.1.5 封装43
4.1.6 可访问性46
4.1.7 接口47
4.1.8 继承48
4.1.9 密封类54
4.1.10 抽象类55
4.1.11 嵌套类56
4.1.12 索引器58
4.1.13 分部类60
4.1.14 分部方法61
4.1.15 静态类62
4.1.16 保留的成员名字64
4.2 值类型定义64
4.2.1 构造函数65
4.2.2 this的含义66
4.2.3 终结器69
4.2.4 接口69
4.3 匿名类型69
4.4 对象初始化器72
4.5 装箱和拆箱74
4.5.1 什么时候发生装箱78
4.5.2 效率和混淆79
4.6 System.Object80
4.6.1 等同性及其意义81
4.6.2 IComparable接口81
4.7 创建对象82
4.7.1 new关键字82
4.7.2 字段初始化83
4.7.3 静态(类)构造函数84
4.7.4 实例构造函数和创建顺序86
4.8 销毁对象90
4.8.1 终结器90
4.8.2 确定性的析构91
4.8.3 异常处理92
4.9 可清除对象92
4.9.1 IDisposable接口92
4.9.2 using关键字94
4.10 方法参数类型95
4.10.1 值参数96
4.10.2 ref参数96
4.10.3 out参数98
4.10.4 参数数组98
4.10.5 方法重载99
4.10.6 可选参数99
4.10.7 命名参数100
4.11 继承和虚方法103
4.11.1 虚方法和抽象方法103
4.11.2 override和new方法103
4.11.3 密封方法105
4.11.4 关于C#虚方法再啰嗦几句105
4.12 继承、包含和委托106
4.12.1 接口继承和类继承的选择106
4.12.2 委托和组合与继承107
4.13 小结109
第5章 接口和契约110
5.1 接口定义类型110
5.2 定义接口111
5.2.1 接口中可以有什么112
5.2.2 接口继承与成员隐藏113
5.3 实现接口114
5.3.1 隐式接口实现115
5.3.2 显式接口实现115
5.3.3 派生类中覆盖接口实现117
5.3.4 小心值类型实现接口的副作用120
5.4 接口成员匹配规则121
5.5 值类型的显式接口实现124
5.6 版本考虑126
5.7 契约127
5.7.1 类实现契约127
5.7.2 接口契约128
5.8 在接口和类之间选择129
5.9 小结132
第6章 重载操作符133
6.1 可以并不意味着应该133
6.2 重载操作符的类型和格式133
6.3 操作符不应该改变其操作数134
6.4 参数顺序有影响么135
6.5 重载加法运算符135
6.6 可重载的操作符136
6.6.1 比较操作符137
6.6.2 转换操作符139
6.6.3 布尔操作符142
6.7 小结144
第7章 异常处理和异常安全145
7.1 CLR如何对待异常145
7.2 C#里的异常处理机制145
7.2.1 抛出异常145
7.2.2 从.NET 2.0开始的未处理异常的变化146
7.2.3 try,catch和finally语句语法预览147
7.2.4 重新抛出异常和转译异常149
7.2.5 finally代码块抛出的异常151
7.2.6 终结器抛出的异常152
7.2.7 静态构造函数抛出的异常153
7.3 谁应该处理异常154
7.4 避免使用异常来控制流程154
7.5 取得异常中立155
7.5.1 异常中立代码的基本结构155
7.5.2 受限执行区域160
7.5.3 临界终结器和SafeHandle162
7.6 创建定制的异常类165
7.7 使用分配的资源和异常167
7.8 提供回滚行为170
7.9 小结173
第8章 使用字符串174
8.1 字符串概述174
8.2 字符串字面量175
8.3 格式指定和全球化176
8.3.1 Object.ToString、IFormat-table和CultureInfo176
8.3.2 创建和注册自定义CultureInfo类型177
8.3.3 格式化字符串179
8.3.4 Console.WriteLine和String.Format180
8.3.5 自定义类型的字符串格式化举例181
8.3.6 ICustomFormatter182
8.3.7 字符串比较184
8.4 处理来自外部的字符串185
8.5 StringBuilder187
8.6 使用正则表达式搜索字符串188
8.6.1 使用正则表达式搜索189
8.6.2 搜索和分组190
8.6.3 使用正则表达式替换文本194
8.6.4 正则表达式创建选项196
8.7 小结197
第9章 数组、集合类型和迭代器198
9.1 数组介绍198
9.1.1 隐式类型化数组199
9.1.2 类型的转换和协方差201
9.1.3 排序和搜索202
9.1.4 同步202
9.1.5 向量与数组203
9.2 多维矩形数组204
9.3 多维锯齿数组206
9.4 集合类型207
9.4.1 比较ICollection〈T〉和ICollection207
9.4.2 集合同步209
9.4.3 列表209
9.4.4 字典210
9.4.5 集合211
9.4.6 System.Collections.ObjectModel211
9.4.7 效率213
9.5 IEnumerable〈T〉、IEnumerator〈T〉、IEnumerable和IEnumerator214
9.6 迭代器218
9.7 集合初始化器226
9.8 小结227
第10章 委托、匿名方法和事件228
10.1 委托概览228
10.2 委托的创建和使用229
10.2.1 单委托229
10.2.2 委托链231
10.2.3 迭代委托链232
10.2.4 非绑定(公开实例)的委托233
10.3 事件236
10.4 匿名方法239
10.4.1 捕获变量与闭包241
10.4.2 当心捕获变量的意外243
10.4.3 匿名方法作为委托参数绑定器246
10.5 Strategy模式248
10.6 小结250
第11章 泛型251
11.1 泛型和C++模板之间的区别252
11.2 泛型的效率和类型安全253
11.3 泛型的类型定义和构造类型254
11.3.1 泛型类和结构255
11.3.2 泛型接口257
11.3.3 泛型方法257
11.3.4 泛型委托259
11.3.5 泛型转换262
11.3.6 默认值表达式263
11.3.7 Nullable类型264
11.3.8 构造类型访问权限控制266
11.3.9 泛型和继承266
11.4 约束267
11.5 协变与逆变272
11.5.1 协变274
11.5.2 逆变276
11.5.3 不变性278
11.5.4 方差与委托279
11.6 泛型系统集合282
11.7 泛型系统接口283
11.8 精选的问题和解决方案284
11.8.1 泛型类型中的转化和操作符285
11.8.2 动态地创建构造类型293
11.9 小结294
第12章 C#中的线程295
12.1 C#和.NET中的线程295
12.1.1 开始线程编程296
12.1.2 IOU模式和异步方法调用299
12.1.3 线程状态299
12.1.4 终止线程301
12.1.5 停止和唤醒休眠线程303
12.1.6 等待线程退出304
12.1.7 前台和后台线程304
12.1.8 线程本地存储305
12.1.9 非托管线程和COM套件如何适应308
12.2 线程间同步工作309
12.2.1 用Interlocked类实现轻量级的同步311
12.2.2 SpinLock类316
12.2.3 Monitor类317
12.2.4 锁对象325
12.2.5 信号量329
12.2.6 事件331
12.2.7 Win32的同步对象和WaitHandle332
12.3 使用线程池334
12.3.1 异步方法调用335
12.3.2 定时器341
12.4 并发编程343
12.4.1 Task类343
12.4.2 Parallel类345
12.4.3 线程池的简单入口349
12.4.4 线程安全集合类350
12.5 小结350
第13章 C#规范形式探索351
13.1 引用类型的规范形式351
13.1.1 类默认是密封的352
13.1.2 使用非虚拟接口(NVI)模式353
13.1.3 对象是否可克隆355
13.1.4 对象是否可清除360
13.1.5 对象需要终结器吗362
13.1.6 对象相等意味着什么368
13.1.7 如果重写了Equals方法,那么也应该重写GetHashCode方法374
13.1.8 对象支持排序吗377
13.1.9 对象需要形式化显示吗379
13.1.10 对象可以被转换吗382
13.1.11 在所有情况下都保证类型安全384
13.1.12 使用非可变的引用类型387
13.2 值类型的规范形式389
13.2.1 为了获得更好的性能而重写Equals方法390
13.2.2 值类型需要支持接口吗394
13.2.3 将接口成员和派生方法实现为类型安全的形式394
13.3 小结397
13.3.1 引用类型的检查单397
13.3.2 值类型的检查单398
第14章 扩展方法399
14.1 扩展方法介绍399
14.1.1 编译器如何发现扩展方法400
14.1.2 探究内部实现403
14.1.3 代码易读性与代码易懂性403
14.2 使用建议404
14.2.1 考虑扩展方法优先于继承404
14.2.2 分离的命名空间中的隔离扩展方法405
14.2.3 修改一个类型的契约可能会打破扩展方法406
14.3 转换406
14.4 链式操作410
14.5 自定义迭代器411
14.6 访问者模式417
14.7 小结420
第15章 lambda表达式422
15.1 lambda表达式介绍422
15.1.1 lambda表达式与闭包423
15.1.2 lambda语句427
15.2 表达式树428
15.2.1 对表达式的操作430
15.2.2 函数的数据表现431
15.3 lambda表达式的有益应用431
15.3.1 迭代器和生成器重访问432
15.3.2 再谈闭包(变量捕获)和缓存435
15.3.3 currying439
15.3.4 匿名递归441
15.4 小结442
第16章 LINQ:语言集成查询443
16.1 连接数据的桥梁443
16.1.1 查询表达式444
16.1.2 再谈扩展方法和lambda表达式446
16.2 标准查询操作符446
16.3 C#查询关键字448
16.3.1 from子句和范围变量448
16.3.2 join子句449
16.3.3 where子句和过滤器451
16.3.4 orderby子句451
16.3.5 select子句和投影452
16.3.6 let子句454
16.3.7 group子句455
16.3.8 into子句和持续性458
16.4 偷懒的好处459
16.4.1 C#迭代器鼓励懒惰459
16.4.2 不能偷懒460
16.4.3 立即执行查询462
16.4.4 再谈表达式树462
16.5 函数式编程中的技术462
16.5.1 自定义标准查询操作符和延迟求值463
16.5.2 替换foreach语句169
16.6 小结471
第17章 Dynamic类型472
17.1 dynamic意味着什么?472
17.2 dynamic如何工作?474
17.2.1 大统一476
17.2.2 调用站476
17.2.3 具有自定义动态行为的对象478
17.2.4 效率480
17.2.5 Dynamic装箱482
17.3 Dynamic转换482
17.4 动态重载解析485
17.5 Dynamic继承486
17.5.1 不能派生自dynamic486
17.5.2 不能实现动态接口487
17.5.3 可以派生自Dynamic基类489
17.6 C#里的推断类型490
17.7 dynamic类型的限制493
17.8 ExpandoObject:动态地创建对象493
17.9 小结497
热门推荐
- 1757410.html
- 2750869.html
- 1476411.html
- 2229152.html
- 909433.html
- 1721878.html
- 278047.html
- 1922470.html
- 3259138.html
- 2491351.html
- http://www.ickdjs.cc/book_680860.html
- http://www.ickdjs.cc/book_2989897.html
- http://www.ickdjs.cc/book_2899983.html
- http://www.ickdjs.cc/book_2427867.html
- http://www.ickdjs.cc/book_2935088.html
- http://www.ickdjs.cc/book_109788.html
- http://www.ickdjs.cc/book_47846.html
- http://www.ickdjs.cc/book_3570964.html
- http://www.ickdjs.cc/book_382734.html
- http://www.ickdjs.cc/book_3075354.html