图书介绍

NET之美:NET关键技术深入解析2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

NET之美:NET关键技术深入解析
  • 张子阳著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111445326
  • 出版时间:2014
  • 标注页数:432页
  • 文件大小:172MB
  • 文件页数:448页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

NET之美:NET关键技术深入解析PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一部分 C#语言基础2

第1章 C#类型基础2

1.1 值类型和引用类型2

1.1.1 值类型2

1.1.2 引用类型5

1.1.3 简单类型6

1.1.4 装箱和拆箱7

1.2 对象判等8

1.2.1 引用类型判等9

1.2.2 简单值类型判等10

1.2.3 复杂值类型判等12

1.3 对象复制14

1.3.1 浅度复制14

1.3.2 深度复制17

1.4 不可变类型19

1.4.1 从类型设计谈起,Class还是Struet19

1.4.2 数据不一致的问题20

1.4.3 常量性和原子性20

1.4.4 避免外部类型对类型内部的访问21

1.5 本章小结23

第2章 C#中的泛型24

2.1 理解泛型24

2.1.1 为什么要有泛型24

2.1.2 类型参数约束27

2.1.3 泛型方法31

2.2 泛型与集合类型32

2.2.1 避免隐式的装箱和拆箱32

2.2.2 编译时的类型安全34

2.2.3 使用泛型的一个小技巧34

2.3 本章小结35

第3章 C#中的委托和事件36

3.1 理解委托36

3.1.1 将方法作为方法的参数36

3.1.2 将方法绑定到委托39

3.1.3 委托与接口41

3.2 事件的由来42

3.2.1 更好的封装性42

3.2.2 限制类型能力45

3.3 委托的编译代码47

3.4 .NET框架中的委托和事件48

3.4.1 示例说明48

3.4.2 Observer设计模式简介49

3.4.3 实现示例的Observer设计模式50

3.4.4 .NET框架中的委托与事件51

3.5 委托进阶53

3.5.1 为什么委托定义的返回值通常都为void53

3.5.2 如何让事件只允许一个客户订阅54

3.5.3 获得多个返回值与异常处理56

3.6 订阅者方法超时的处理60

3.7 委托和方法的异步调用64

3.8 不使用委托实现Observer模式69

3.8.1 设计思想概述69

3.8.2 Observer模式的接口定义70

3.8.3 Observer模式的实现72

3.8.4 推模式和拉模式74

3.8.5 推模式和拉模式的区别79

3.9 本章小结79

第4章 对象的筛选和排序80

4.1 对象的筛选80

4.1.1 基于拼装SQL的筛选80

4.1.2 基于对象的筛选84

4.1.3 事件探查器89

4.2 对象的排序89

4.2.1 简单排序——对固定属性的默认排序90

4.2.2 高级排序——多个属性组合排序92

4.2.3 页面调用96

4.3 本章小结96

第5章 LINQ97

5.1 LINQ预备知识98

5.1.1 泛型和委托98

5.1.2 隐式类型的局部变量100

5.1.3 匿名类型101

5.1.4 扩展方法102

5.1.5 匿名方法和Lambda表达式104

5.2 集合107

5.2.1 理解集合107

5.2.2 创建集合类108

5.2.3 实现IEnumerable<T>接口113

5.3 LINQ查询115

5.3.1 LINQ to Objects115

5.3.2 查询表达式116

5.3.3 延迟加载117

5.3.4 混合使用LINQ to Objects120

5.4 LINQ查询运算符121

5.4.1 返回IEnumerable<T>121

5.4.2 返回其他序列类型127

5.4.3 返回序列中元素127

5.4.4 返回标量值129

5.4.5 其他方法130

5.5 本章小结130

第二部分 .NET框架132

第6章 认识.NET平台132

6.1 引子132

6.2 CIL——公共中间语言133

6.3 BCI和FCL136

6.3.1 BCI——基类库136

6.3.2 FCI——框架类库140

6.4 CTS——公共类型系统140

6.5 CLS——公共语言规范141

6.6 CLR——公共语言运行时143

6.6.1 程序集概述143

6.6.2 运行程序集145

6.7 CLI——公共语言基础147

6.8 本章小结147

第7章 程序集148

7.1 程序集详探148

7.1.1 程序集模块148

7.1.2 清单和元数据151

7.1.3 程序集资源153

7.2 强名称程序集159

7.2.1 非强名称程序集的问题159

7.2.2 强名称的定义161

7.2.3 为程序集赋予强名称162

7.2.4 防篡改和数字签名163

7.2.5 全局程序集缓存165

7.2.6 延迟签名167

7.3 本章小结168

第8章 流和序列化169

8.1 文件169

8.1.1 不同视角下的文件169

8.1.2 位、字节和字节数组170

8.2 流171

8.2.1 关于流的类比171

8.2.2 使用流进行文件复制172

8.2.3 流的类型体系175

8.3 序列化180

8.3.1 基本操作180

8.3.2 事件响应183

8.3.3 自定义序列化过程186

8.4 本章小结188

第9章 .NET中的加密和解密189

9.1 加密和解密的相关概念189

9.1.1 散列运算190

9.1.2 对称加密191

9.1.3 非对称加密192

9.1.4 数字签名194

9.1.5 综合实现195

9.1.6 证书机制195

9.2 .NET对加密和解密的支持196

9.2.1 散列运算196

9.2.2 对称加密和解密198

9.2.3 非对称加密201

9.3 本章小结206

第10章 网络编程207

10.1 网络编程基本概念207

10.1.1 面向连接的传输协议——TCP207

10.1.2 即时通信程序的三种模式209

10.2 基本操作211

10.2.1 服务端对端口进行侦听211

10.2.2 客户端与服务端连接212

10.2.3 服务端获取客户端连接215

10.3 同步传输字符串218

10.3.1 客户端发送,服务端接收并输出218

10.3.2 服务端回发,客户端接收并输出224

10.3 中英文字符大小和文本边界问题226

10.4.1 ASCII、UTF8、Unicode编码下的中英文字符大小226

10.4.2 文本边界问题228

10.5 异步传输字符串233

10.5.1 服务端的实现234

10.5.2 客户端的实现235

10.5.3 程序测试237

10.6 文件传输238

10.6.1 订立协议239

10.6.2 协议处理类的实现240

10.6.3 客户端发送文件242

10.7 本章小结249

第11章 .NET Remoting250

11.1 理解Remoting250

11.1.1 应用程序域基本概念250

11.1.2 应用程序域的基本操作251

11.1.3 在默认应用程序域中创建对象252

11.1.4 在新建应用程序域中创建对象253

11.1.5 代理和封送254

11.1.6 传引用封送示例256

11.1.7 服务程序集、服务端应用程序(域)和客户端应用程序(域)258

11.2 Remoting架构258

11.2.1 客户端(客户应用程序域)259

11.2.2 服务端(宿主应用程序域)259

11.2.3 Remoting对象的三种激活方式259

11.3 Remoting程序的基本操作261

11.3.1 服务程序集261

11.3.2 服务端应用程序262

11.3.3 客户端应用程序265

11.3.4 程序运行测试267

11.4 Remoting中的传值封送271

11.5 分离服务程序集元数据和代码实现272

11.5.1 使用接口分离服务程序集273

11.5.2 使用“空类”分离服务程序集275

11.5.3 使用Soapsuds.exe分离程序集278

11.5.4 使用工厂方法实现分离280

11.6 Remoting中的方法回调283

11.6.1 远程回调方式说明283

11.6.2 客户端类型和服务端类型284

11.6.3 服务端、客户端会话模型286

11.6.4 宿主应用程序286

11.6.5 程序运行测试288

11.7 本章小结289

第12章 在.NET中操作XML290

12.1 XML概述290

12.1.1 为什么要有XML290

12.1.2 XML文档结构292

12.1.3 XML的处理模型296

12.1.4 XML验证——XSD、DTD和XDR297

12.1.5 XML格式转换——XSLT299

12.1.6 XML选择器——XPATH299

12.2 操作XML300

12.2.1 节点类型300

12.2.2 使用XmlReader和XmlWriter302

12.2.3 使用XmlDocument和XPath306

12.2.4 使用XSD验证XML309

12.2.5 使用XSLT对XML进行转换311

12.3 本章小结312

第13章 .NET应用程序配置314

13.1 .NET中的程序配置介绍314

13.2 .NET应用程序配置方法316

13.2.1 使用.NET内置节点和.NET内置处理程序316

13.2.2 使用自定义节点和.NET内置处理程序318

13.2.3 使用自定义节点和自定义处理程序321

13.2.4 “存储”类型实例329

13.2.5 统一节点配置管理335

13.3 本章小结338

第14章 基于角色的安全性339

14.1 概述339

14.2 在ASP.NET中使用基于角色的安全性341

14.3 开始前的准备341

14.3.1 创建页面,配置Web.config341

14.3.2 创建用户数据表和数据访问342

14.4 用户登录——为IIdentity添加用户数据344

14.4.1 Login.aspx页面实现344

14.4.2 Default.aspx页面预览346

14.5 自定义IPrincipal和IIdentity347

14.6 自定义类型携带用户数据350

14.7 本章小结353

第15章 .NET中的反射354

15.1 反射初步354

15.1.1 建表及其问题354

15.1.2 数组及其问题355

15.1.3 枚举及其问题356

15.1.4 使用反射遍历枚举字段357

15.1.5 使用泛型来达到代码重用359

15.1.6 .NET中反射的一个示例360

15.2 Type类362

15.2.1 反射的作用362

15.2.2 获取Type对象实例362

15.2.3 Type类型及System.Reflection命名空间的组织结构362

15.3 反射程序集365

15.4 反射基本类型367

15.4.1 获取基本信息367

15.4.2 成员信息与MemberInfo类型369

15.4.3 字段信息与FieldInfo类型371

15.4.4 属性信息与PropertyInfo类型372

15.4.5 方法信息与MethodInfo类型373

15.4.6 ConstructorInfo类型和EventInfo类型373

15.5 反射特性373

15.5.1 .NET内置特性介绍374

15.5.2 自定义特性(CustomAttributes)375

15.5.3 使用反射查看自定义特性380

15.6 动态创建对象381

15.6.1 使用无参数构造函数创建对象381

15.6.2 使用有参数构造函数创建对象382

15.7 动态调用方法382

15.7.1 使用InvokeMember调用方法383

15.7.2 使用MethodInfo.Invoke调用方法384

15.8 示例:遍历System.Drawing.Color结构385

15.9 本章小结388

第16章 多线程389

16.1 线程的概念389

16.2 线程的基本操作392

16.2.1 创建新线程392

16.2.2 查看当前线程394

16.2.3 Sleep()方法394

16.2.4 Interrupt()方法395

16.2.5 前台线程和后台线程396

16.2.6 Join()方法397

16.2.7 Suspend()和Resume()方法398

16.2.8 线程异常400

16.2.9 Abort()方法401

16.3 线程同步402

16.3.1 使用Monitor403

16.3.2 使用WaitHandle413

16.4 本章小结421

第17章 对象生存期与垃圾收集422

17.1 基础概念回顾422

17.2 垃圾回收机制424

17.2.1 判断哪些对象需要进行回收424

17.2.2 对象如何分配在堆上425

17.2.3 垃圾回收的执行过程426

17.3 对象析构428

17.3.1 Finalizer析构器428

17.3.2 Dispose()和Finalize()429

17.3.3 结合析构器函数和Dispose()431

17.4 本章小结432

热门推荐