[包邮现货] C#从现象到本质 郝亦非|8050831pdf下载pdf下载

[包邮现货] C#从现象到本质 郝亦非|8050831百度网盘pdf下载

作者:
简介:本篇主要提供[包邮现货] C#从现象到本质 郝亦非|8050831pdf下载
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

 书名:  C#从现象到本质|8050831
 图书定价: 129元
 图书作者: 郝亦非
 出版社:  机械工业出版社
 出版日期:  2018/8/1 0:00:00
 ISBN号: 9787111604402
 开本: 16开
 页数: 0
 版次: 1-1
 作者简介
郝亦非 编著:郝亦非 资深.NET开发人员,拥有多年开发经验,长期负责后端系统的搭建、重构与维护,对C#语言理解深刻,在工作中积累了丰富的开发经验,乐于分享,在社区贡献了大量文章。

 内容简介
本书以独特的视角对面试过程中求职者存在的问题进行了深度剖析,对目前.NET和C#的就业情况,以及热门的要求进行了提炼。介绍了程序员面试流程,从投递简历开始,到写感谢信,跟人力签约报道上班,等等。然后再分几个方面详细介绍面试题,主要内容包括C#语言基础知识、.NET基础概念、C#核心语法、委托与事件、反射、泛型、可空类型、LINQ、多线程、异步编程、面向对象和基础设计模式、数据库基础知识、基础算法、开发流程等。本书是一本适合计算机相关专业毕业生阅读的求职指导用书,同时也适合期望在计算机软硬件行业大显身手的计算机爱好者阅读。
 目录

引 言
第一部分 基础知识
第1章 .NET基础知识 2
1.1 .NET框架介绍 2
1.2 .NET框架发展史 3
1.3 .NET框架的主要成员 5
1.3.1 两步编译与跨平台 5
1.3.2 CLR 6
1.3.3 CLI 7
1.3.4 CTS和CLS 8
1.3.5 框架类库(FCL) 8
1.3.6 基础类库(BCL) 9
1.4 程序集 10
1.4.1 反向工程—使用ILSpy观察IL 10
1.4.2 程序集与托管模块 11
1.4.3 程序集的部署 18
1.5 .NET程序的编译:IL与JIT 20
1.5.1 什么是IL(CIL) 21
1.5.2 初识IL 21
1.5.3 System.Reflection.Emit 31
1.5.4 即时编译(JIT) 33
1.5.5 运行时的验证 34
1.5.6 Visual Studio的编译模式与本地代码的优化 34
1.5.7 托管代码与非托管代码的互操作性 35
1.6 CLR启动与Hello World的运行 36
1.7 本章小结 37
1.8 思考题 37
第2章 C#类型基础(上) 38
2.1 公共类型系统 38
2.2 堆与栈 40
2.2.1 堆 40
2.2.2 栈 41
2.3 引用类型的内存分配 42
2.3.1 字段的对齐 44
2.3.2 同步块索引 45
2.3.3 方法表指针和类型对象 45
2.3.4 静态字段和属性 46
2.4 使用WinDbg探查内存 46
2.4.1 WinDbg简易命令速查 47
2.4.2 使用WinDbg探查引用类型 47
2.4.3 引用类型的复制 52
2.5 值类型 53
2.5.1 基元类型 54
2.5.2 值类型的内存分配 54
2.5.3 值类型的构造函数 56
2.5.4 何时考虑使用值类型 57
2.5.5 值类型是密封的 58
2.5.6 值类型和引用类型的区别与联系 58
2.5.7 嵌套:值类型与引用类型 58
2.6 装箱和拆箱 59
2.6.1 装箱的过程 59
2.6.2 拆箱的过程 60
2.6.3 如何避免拆箱和装箱 60
2.7 本章小结 61
2.8 思考题 61
第3章 C#类型基础(下) 62
3.1 类型的非方法成员 62
3.1.1 常量 62
3.1.2 字段 63
3.1.3 无参属性 64
3.1.4 有参属性 66
3.1.5 属性的意义 67
3.2 类型的构造函数和析构函数 67
3.2.1 静态类 67
3.2.2 实例构造函数(引用类型) 68
3.2.3 实例构造函数(值类型) 69
3.2.4 静态构造函数 69
3.2.5 构造函数的执行顺序 70
3.2.6 析构函数 71
3.3 类型的普通方法成员 72
3.3.1 方法表 73
3.3.2 使用WinDbg探查方法表 73
3.3.3 方法槽表与方法描述表在JIT前后的变化 75
3.3.4 方法调用 77
3.3.5 方法参数的按值传递和按引用传递 80
3.4 类型转换 82
3.4.1 将一个对象转换为它的基类型 83
3.4.2 将一个对象转换为它的派生类型 84
3.4.3 基元类型的类型转换 84
3.4.4 自定义类型转换 84
3.5 System.Object类型的主要方法 85
3.6 本章小结 90
3.7 思考题 91
第4章 C#和面向对象 92
4.1 面向对象程序设计 92
4.2 继承 93
4.2.1 方法表与继承 94
4.2.2 再论Call与Callvirt 94
4.2.3 IL中修饰方法的关键字 95
4.2.4 方法的重载、重写和隐藏 96
4.2.5 值类型的方法调用 100
4.3 接口和多态 101
4.3.1 抽象类与Is A关系 102
4.3.2 接口与Has A关系 102
4.3.3 显式接口实现 103
4.3.4 显式接口实现与泛型接口 104
4.3.5 抽象类VS接口 105
4.3.6 接口不继承自Object 106
4.3.7 接口方法分派 106
4.4 面向对象编程五大原则(SOLID) 106
4.4.1 单一职责原则 107
4.4.2 开闭原则 107
4.4.3 里氏代换原则 111
4.4.4 接口隔离原则 111
4.4.5 依赖倒转原则 112
4.5 本章小结 112
4.6 思考题 113
第5章 字符串 114
5.1 字符 114
5.2 字符串的特性 115
5.2.1 字符串与普通的引用类型相比 116
5.2.2 IL中创建字符串 116
5.2.3 字符串的不变性 117
5.2.4 通过成员来证明不变性 118
5.2.5 为什么要这么设计 119
5.3 字符串驻留 119
5.4 字符串的相加 121
5.5 不变性只是针对托管代码 124
5.6 本章小结 125
5.7 思考题 125
第6章 垃圾回收 126
6.1 垃圾回收的概念 127
6.1.1 GC堆的构造 127
6.1.2 识别垃圾 128
6.1.3 压缩 136
6.1.4 C#的GC规则总结 136
6.2 垃圾回收策略 136
6.2.1 Dispose方法和IDisposible接口 136
6.2.2 析构函数(终结器) 137
6.2.3 如何回收托管资源 140
6.2.4 如何回收非托管资源 142
6.2.5 using关键字 143
6.2.6 总结:怎样实现垃圾回收策略 144
6.3 GC的工作模式 145
6.3.1 工作站模式 145
6.3.2 服务器模式 146
6.4 大对象 146
6.5 本章小结 147
6.6 思考题 147
第7章 异常与异常处理 148
7.1 C#的异常处理 149
7.1.1 try 149
7.1.2 catch 149
7.1.3 finally 150
7.1.4 结构化异常处理 152
7.1.5 throw和throw ex 153
7.2 IL中的异常处理机制 155
7.3 开发中的异常处理 159
7.3.1 提高程序的健壮性 159
7.3.2 使用.NET自带的日志类型 159
7.4 本章小结 163
7.5 思考题 163
第二部分 C#特性
第8章 委托和事件 166
8.1 委托 166
8.1.1 委托初探 166
8.1.2 使用委托达到代码复用的目的 168
8.1.3 委托的协变和逆变 171
8.1.4 委托的本质 171
8.1.5 委托链与多路广播 174
8.1.6 委托的异步调用 176
8.2 事件 176
8.2.1 事件初探 177
8.2.2 事件的本质 180
8.2.3 Winform中的经典事件:单击按钮 182
8.2.4 Windows消息机制简介 183
8.2.5 观察者模式 185
8.3 本章小结 189
8.4 思考题 189
第9章 泛型 190
9.1 泛型方法 190
9.1.1 类型安全与代码爆炸 191
9.1.2 泛型类型的静态成员 193
9.1.3 泛型与继承 194
9.1.4 泛型约束 194
9.1.5 泛型委托 195
9.1.6 使用泛型委托达到代码复用的目的 196
9.2 可空类型 197
9.3 协变和逆变 200
9.3.1 可变性 200
9.3.2 通过反射调用泛型方法 207
9.4 本章小结 208
9.5 思考题 208
第10章 反射 209
10.1 初识反射 209
10.1.1 获得类型的基本信息 210
10.1.2 获得类型成员和方法调用 211
10.1.3 加载程序集(晚期绑定) 215
10.1.4 反射与泛型 216
10.2 反射的应用场景 218
10.3 反射的性能问题 218
10.3.1 方法反射调用有多慢 218
10.3.2 通过其他方法优化反射调用方式 220
10.3.3 反射优化的性能比较 225
10.4 反射的应用:一个简单的ORM 225
10.4.1 通过反射和特性建立表格和实体的联系 226
10.4.2 为实体增加主键 227
10.4.3 建立本地数据库 228
10.4.4 建立表格 228
10.4.5 删除表格 231
10.4.6 为表格插入数据 231
10.4.7 选择数据 233
10.4.8 多表...
 编辑推荐
基于C# 7.0,由资深.NET开发者撰写,是作者多年开发经验的结晶
从基本概念到实际应用,从.NET基础到面向对象编程,涉及C#语言的方方面面,特别是对LINQ、多线程、异步编程有深入分析,是深入学习C#语言的必备参考资料