《C#技术内幕》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)Joseph Mayo著;王启丁等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111102886
  • 页数:539 页
图书介绍:

第一部分 C#的基础知识 1

第1章 C#的环境 1

1.1 通用语言基础结构 1

1.2 标准 3

1.3 .NET结构 3

1.3.1 通用语言运行时刻 4

1.3.2 库 4

1.3.3 语言 4

1.4 哪里适合用C# 4

1.5 小结 4

第2章 C#入门 5

2.1 编写简单的C#程序 5

2.2.1 多行注释 6

2.2 注释 6

2.2.2 单行注释 7

2.2.3 XML文档注释 7

2.3 标识符和关键字 8

2.3.1 标识符 8

2.3.2 关键字 9

2.4 样式 9

2.5 准备运行程序 10

2.6 基本的C#类型 11

2.6.1 变量声明 11

2.6.2 简单类型 11

2.6.3 结构类型 15

2.6.4 引用类型 15

2.6.5 枚举类型 15

2.6.6 字符串类型 16

2.7 定义赋值 17

2.8 基本约定 18

2.9 数组 19

2.9.1 一维数组 19

2.9.2 N维数组 20

2.9.3 不规则数组 20

2.10 与程序交互 21

2.11 小结 23

第3章 编写C#表达式 24

3.1 一元运算符 24

3.1.1 正值运算符 24

3.1.2 负值运算符 24

3.1.4 自减运算符 25

3.1.3 自增运算符 25

3.1.5 逻辑补运算符 26

3.1.6 按位求反运算符 26

3.2 二元运算符 26

3.2.1 算术运算符 26

3.2.2 关系运算符 28

3.2.3 逻辑运算符 29

3.2.4 赋值运算符 32

3.3 三元运算符 32

3.4 其他运算符 33

3.4.1 is运算符 33

3.4.2 as运算符 33

3.4.3 sizeof()运算符 33

3.4.4 typeof()运算符 33

3.5 枚举表达式 34

3.4.5 checked()运算符 34

3.4.6 unchecked()运算符 34

3.6 数组表达式 36

3.7 语句 37

3.8 程序块 37

3.9 标签 37

3.10 声明 38

3.11 运算符优先级和结合性 38

3.12 小结 39

第4章 使用语句和循环来控制程序流 40

4.1 if语句 40

4.1.1 简单的if 40

4.1.2 if-then-else 40

4.1.3 if-else if-else 41

4.2 switch语句 42

4.3 C#循环 45

4.3.1 while循环 45

4.3.2 do循环 46

4.3.3 for循环 47

4.3.4 foreach循环 48

4.4 goto语句 48

4.5 break语句 49

4.6 continue语句 50

4.7 return语句 50

4.8 小结 54

5.1.1 define指令 55

5.1.2 条件预处理指令 55

5.1 预处理指令 55

第5章 调试和预处理 55

5.1.3 错误 56

5.1.4 行编号 56

5.1.5 注释 56

5.2 调试C#程序 57

5.2.1 调试方法 57

5.2.2 使用调试程序来查找程序错误 57

5.2.3 附加到进程 62

5.3 小结 65

第二部分 用C#编写对象和组件 67

第6章 对象和组件概念 67

6.1 什么是对象 67

6.3 对象的层次 69

6.2 对象的分类 69

6.4 抽象 70

6.5 对象内的对象 71

6.6 具有不同行为的对象 71

6.7 组件接口 74

6.8 组件特性 77

6.9 组件事件 78

6.10 小结 80

第7章 类的使用 81

7.1 类成员 81

7.2 实例和静态成员 81

7.3 访问限制修饰符的使用 82

7.4 字段 82

7.4.1 字段初始化 82

7.4.2 明确的赋值 83

7.4.4 只读字段 84

7.4.3 常量字段 84

7.4.5 XML注释 85

7.5 构造函数 85

7.5.1 实例构造函数 85

7.5.2 静态构造函数 89

7.6 析构函数 89

7.7 方法 90

7.7.1 实例方法 90

7.7.2 方法的特征标记 90

7.7.3 方法主体 92

7.7.4 局部字段 93

7.7.5 方法参数 94

7.7.6 静态方法 99

7.8 特性 100

7.7.7 XML注释 100

7.8.1 特性访问器 101

7.8.2 透明访问 102

7.8.3 静态特性 103

7.8.4 后联编对象的创建 103

7.8.5 XML注释 104

7.9 索引器 105

7.10 完全的XML注释 106

7.11 小结 116

第8章 设计面向对象的程序 117

8.1 继承性 117

8.1.1 基类 117

8.1.2 抽象类 118

8.1.3 调用基类成员 125

8.1.4 隐藏基类成员 127

8.1.5 版本管理 129

8.1.6 sealed类 132

8.2 封装对象的原理 133

8.2.1 数据隐藏 133

8.2.2 支持封装的修饰符 133

8.2.3 其他封装策略 134

8.2.4 封装与继承的关系 134

8.3 多态性 134

8.3.1 实现多态性 135

8.3.2 再次隐藏 139

8.3.3 最多派生的实现 142

8.3.4 多态特性 144

8.3.5 多态索引器 146

8.4 小结 148

第9章 重载类成员和操作符 149

9.1 重载方法 149

9.2 重载索引器 151

9.3 重载操作符 155

9.4 解析重载成员 160

9.5 小结 161

第10章 处理异常和错误 162

10.1 try/catch块 162

10.2 finally块 163

10.3 预定义异常的类 164

10.4 处理异常 165

10.4.1 处理多个异常 165

10.4.2 处理和传递异常 166

10.4.3 从异常中恢复 168

10.5 设计自己的异常 170

10.6 checked和unchecked语句 172

10.7 小结 174

第11章 委托和事件 175

11.1 委托 175

11.1.1 定义委托 175

11.1.2 创建委托方法处理程序 175

11.1.3 接通委托和处理程序 176

11.1.4 通过委托调用方法 176

11.1.5 多重委托 177

11.1.6 委托的相等性 179

11.2 事件 179

11.2.1 定义事件处理程序 179

11.2.2 注册事件 181

11.2.3 实现事件 182

11.2.4 触发事件 184

11.2.5 修改事件添加/删除方法 185

11.3 小结 189

第12章 使用命名空间组织代码 191

12.1 为什么需要命名空间 191

12.1.1 组织代码 191

12.1.2 避免冲突 192

12.2 命名空间指令 192

12.2.1 using指令 192

12.2.2 alias指令 193

12.3 创建命名空间 194

12.4 命名空间成员 197

12.5 作用域和可见性 197

12.6 小结 198

13.1 区别类与结构 199

13.1.1 值与引用 199

第13章 创建结构 199

13.1.2 继承性 200

13.1.3 其他差别 201

13.1.4 权衡 201

13.2 类型系统统一 201

13.2.1 预定义类型为结构 202

13.2.2 装箱和拆箱 202

13.3 设计新的值类型 203

13.4 小结 205

14.1 抽象类与接口 206

14.2 接口成员 206

第14章 实现接口 206

14.2.1 方法 207

14.2.2 特性 207

14.2.3 索引器 207

14.2.4 事件 207

14.3 隐式实现 208

14.3.1 单个类接口的实现 208

14.3.2 模拟多态性行为 211

14.4 显式实现 216

14.5 映射 220

14.6 继承性 222

14.7 小结 225

第15章 执行转换 226

15.1 隐式转换与显式转换 226

15.2 值类型转换 230

15.3 引用类型转换 232

15.4 小结 233

第三部分 在C#中使用类库 235

第16章 图形用户界面 235

16.1 窗口 235

16.2 控件 238

16.3 N层结构 240

16.4 菜单 258

16.5 小结 263

第17章 文件的输入/输出和串行化 264

17.1 文件和目录 264

17.2 数据流 270

17.2.1 用数据流进行读取和写入 271

17.2.2 实现密码数据流 274

17.3.1 自动串行化 276

17.3 串行化 276

17.3.2 自定义串行化 279

17.4 小结 282

第18章 XML 283

18.1 写入 283

18.2 读取 285

18.3 小结 289

第19章 用ADO.NET进行数据库编程 290

19.1 建立连接 290

19.2 查看数据 291

19.3 操作数据 295

19.4 调用存储过程 298

19.5 检索数据集 303

19.6 小结 305

20.1 简单的网页 306

第20章 用ASP.NET编写Web应用程序 306

20.2 控件 307

20.2.1 服务器控件 307

20.2.2 HTML控件 307

20.2.3 验证控件 308

20.3 制作Web窗体 308

20.3.1 简单的Web窗体 308

20.3.2 操纵Web窗体的控件 312

20.4 后端代码的网页 315

20.5 小结 319

21.1 基本的远程处理 321

21.1.1 远程处理服务器 321

第21章 远程处理 321

21.1.2 远程处理客户 323

21.1.3 远程处理安装 325

21.2 代理 329

21.3 信道 332

21.4 生存期管理 334

21.5 小结 336

第22章 Web服务 337

22.1 Web服务的基础 337

22.1.1 Web服务技术 337

22.1.2 基本的Web服务 337

22.1.3 查看Web服务信息 339

22.2 使用Web服务 342

22.3 小结 344

23.1 创建新的线程 345

第23章 多线程 345

第四部分 C#高级主题 345

23.2 同步化 346

23.3 小结 348

第24章 浏览网络库 349

24.1 实现套接字 349

24.1.1 套接字服务器 349

24.1.2 套接字客户 352

24.1.3 编译和运行服务器和客户 355

24.2 使用HTTP 355

24.3 小结 356

第25章 字符串操作 358

25.1 String类 358

25.1.1 静态方法 358

25.1.2 实例方法 362

25.1.3 特性和索引器 370

25.2 StringBuilder类 370

25.2.1 实例方法 371

25.2.2 特性和索引器 375

25.3 字符串格式化 376

25.3.1 数字格式化 376

25.3.2 图片格式化 376

25.4 正则表达式 377

25.5 小结 378

第26章 C#集合 380

26.1 预定义的集合 380

26.1.1 ArrayList集合 380

26.1.2 BitArray集合 381

26.1.3 Hashtable集合 382

26.1.4 Queue集合 383

26.1.5 SortedList集合 383

26.1.6 Stack集合 384

26.2 集合的接口 385

26.3 创建集合 385

26.3.1 列表的集合 385

26.3.2 使用SiteList集合 394

26.4 小结 396

第27章 属性 397

27.1 使用属性 397

27.1.1 使用单个属性 397

27.1.2 使用多个属性 398

27.2.1 位置参数 399

27.2 使用属性参数 399

27.2.2 命名参数 400

27.3 使用属性目标 400

27.4 创建自己的属性 401

27.5 从类中获得属性 404

27.6 小结 405

第28章 反射 407

28.1 发现程序信息 407

28.2 动态地激活代码 412

28.3 Reflection.Emit 414

28.4 小结 417

第29章 本地化和资源 418

29.1 资源文件 418

29.1.1 创建资源文件 418

29.1.2 写入资源文件 420

29.1.3 读取资源文件 421

29.1.4 转换资源文件 422

29.1.5 创建图形资源 423

29.2 多个区域设置 428

29.2.1 实现多个区域设置 428

29.2.2 查找资源 433

29.3 小结 434

第30章 不安全代码和平台调用 435

30.1 不安全代码 435

30.1.1 代码不安全是什么含义 435

30.1.2 指针的功能 436

30.1.3 sizeof()操作符 439

30.1.4 stackalloc操作符 440

30.1.5 fixed语句 441

30.2 平台调用 443

30.3 小结 444

第31章 运行时刻的调试 446

31.1 简单的调试 446

31.2 条件调试 447

31.3 运行时刻的跟踪 450

31.4 进行断言 451

31.5 小结 452

第32章 性能监视 453

32.1 访问内置性能计数器 453

32.2 实现定时器 459

32.3 建立自定义的性能计数器 460

32.4 通过采样分析性能 469

32.5 小结 477

33.1.1 早联编的COM组件的调用 478

33.1 从.NET与COM进行通信 478

第33章 C#与COM的集成 478

33.1.2 后联编的COM组件的调用 479

33.2 显示.NET组件为COM组件 480

33.3 .NET对COM+服务的支持 482

33.3.1 事务 483

33.3.2 JIT活动 484

33.3.3 对象池 485

33.3.4 其他服务 486

33.4 小结 486

第五部分 C#的环境 487

第34章 垃圾收集 487

34.1 自动的存储器管理 487

34.1.2 垃圾收集器的优化 488

34.1.1 垃圾收集器的工作原理 488

34.2 正确地确定代码 489

34.2.1 析构函数的问题 489

34.2.2 Dispose模型 490

34.2.3 using语句 491

34.3 控制垃圾收集 492

34.3.1 控制对象 492

34.3.2 弱引用 494

34.4 小结 497

第35章 用C#进行跨语言编程 498

35.1 通用类型系统 498

35.2 通用语言规范 499

35.3 使代码与CLS兼容的提示 499

35.3.1 概论 499

35.3.3 类型 500

35.3.2 命名 500

35.3.5 索引器和特性 501

35.3.4 方法 501

35.3.6 事件 502

35.3.7 指针 502

35.3.8 接口 502

35.3.9 继承性 503

35.3.10 数组 503

35.3.11 枚举 504

35.3.12 属性 504

35.3.13 配件 504

35.4 编写跨语言的程序 505

35.5 小结 507

36.1 托管执行 508

第36章 通用语言运行时刻 508

36.1.1 创建源代码 509

36.1.2 编译为中间代码 509

36.1.3 编译为本机代码 509

36.1.4 执行程序 509

36.2 元数据 510

36.3 托管服务 510

36.3.1 异常处理 510

36.3.2 自动的生存期的管理 511

36.3.3 互操作性 511

36.3.4 安全性 511

36.3.5 配置和调试 511

36.4 小结 511

37.1 配件的原理 512

第37章 版本管理和配件 512

37.1.1 清单 513

37.1.2 属性 513

37.2 配件的特性 515

37.2.1 标识 515

37.2.2 作用域 515

37.2.3 版本管理 515

37.2.4 安全性 515

37.3 配置 516

37.3.1 启动配置 517

37.3.2 运行时刻的配置 517

37.4 部署 519

37.5 小结 519

38.1.1 证据 520

38.1.2 权限 520

第38章 保护代码安全 520

38.1 基于代码的安全性 520

38.1.3 代码组 521

38.1.4 安全策略级别 522

38.1.5 权限请求 523

38.1.6 实现安全策略 525

38.2 基于角色的安全性 527

38.3 安全实用程序 528

38.4 小结 529

第六部分 附录 531

附录A 编译程序 531

附录B .NET框架的类库 534

附录C 在线资源 537