C#高级编程(第六版) Christian Nagel 清华大学出版社
正版二手书,发货前杀菌消毒,保证符合品相,不缺页,圆通发货(圆通不到走邮政),下单后24小时内发货。
¥
30.39
1.9折
¥
158
八品
仅1件
作者Christian Nagel
出版社清华大学出版社
ISBN9787302184959
出版时间2008-10
装帧其他
开本其他
定价158元
货号1800775187139514880
上书时间2024-11-18
商品详情
- 品相描述:八品
- 商品描述
-
目录
目录
第Ⅰ部分 C# 语 言
第1章 .NET体系结构 2
1.1 C#与.NET的关系 2
1.2 公共语言运行库 3
1.2.1 平台无关性 3
1.2.2 提高性能 3
1.2.3 语言的互操作性 4
1.3 中间语言 5
1.3.1 面向对象和接口的支持 6
1.3.2 相异值类型和引用类型 6
1.3.3 强数据类型 7
1.3.4 通过异常处理错误 12
1.3.5 特性的使用 13
1.4 程序集 13
1.4.1 私有程序集 14
1.4.2 共享程序集 14
1.4.3 反射 14
1.5 .NET Framework类 15
1.6 命名空间 16
1.7 用C#创建.NET应用程序 16
1.7.1 创建ASP.NET应用程序 16
1.7.2 创建Windows窗体 18
1.7.3 使用Windows Presentation Foundation(WPF) 18
1.7.4 Windows控件 19
1.7.5 Windows服务 19
1.7.6 Windows Communication Foundation(WCF) 19
1.8 C#在.NET企业体系结构中的作用 19
1.9 小结 21
第2章 C#基础 22
2.1 引言 22
2.2 第一个C#程序 23
2.2.1 代码 23
2.2.2 编译并运行程序 23
2.2.3 详细介绍 24
2.3 变量 26
2.3.1 变量的初始化 26
2.3.2 类型推断 27
2.3.3 变量的作用域 28
2.3.4 常量 30
2.4 预定义数据类型 31
2.4.1 值类型和引用类型 31
2.4.2 CTS类型 33
2.4.3 预定义的值类型 33
2.4.4 预定义的引用类型 36
2.5 流控制 38
2.5.1 条件语句 38
2.5.2 循环 42
2.5.3 跳转语句 45
2.6 枚举 46
2.7 数组 47
2.8 命名空间 48
2.8.1 using语句 49
2.8.2 命名空间的别名 50
2.9 Main()方法 51
2.9.1 多个Main()方法 51
2.9.2 给Main()方法传送参数 52
2.10 有关编译C#文件的更多内容 53
2.11 控制台I/O 54
2.12 使用注释 56
2.12.1 源文件中的内部注释 56
2.12.2 XML文档说明 56
2.13 C#预处理器指令 58
2.13.1 #define和 #undef 59
2.13.2 #if, #elif, #else和#endif 59
2.13.3 #warning和 # error 60
2.13.4 #region和#endregion 60
2.13.5 #line 61
2.13.6 #pragma 61
2.14 C#编程规则 61
2.14.1 用于标识符的规则 61
2.14.2 用法约定 62
2.15 小结 68
第3章 对象和类型 69
3.1 类和结构 69
3.2 类成员 70
3.2.1 数据成员 70
3.2.2 函数成员 71
3.2.3 只读字段 83
3.3 匿名类型 84
3.4 结构 85
3.4.1 结构是值类型 86
3.4.2 结构和继承 87
3.4.3 结构的构造函数 87
3.5 部分类 87
3.6 静态类 89
3.7 Object类 89
3.7.1 System.Object方法 89
3.7.2 ToString()方法 90
3.8 扩展方法 92
3.9 小结 92
第4章 继承 93
4.1 继承的类型 93
4.1.1 实现继承和接口继承 93
4.1.2 多重继承 94
4.1.3 结构和类 94
4.2 实现继承 94
4.2.1 虚方法 95
4.2.2 隐藏方法 96
4.2.3 调用函数的基类版本 97
4.2.4 抽象类和抽象函数 98
4.2.5 密封类和密封方法 98
4.2.6 派生类的构造函数 99
4.3 修饰符 103
4.3.1 可见性修饰符 103
4.3.2 其他修饰符 104
4.4 接口 105
4.4.1 定义和实现接口 106
4.4.2 派生的接口 109
4.5 小结 110
第5章 数组 111
5.1 简单数组 111
5.1.1 数组的声明 111
5.1.2 数组的初始化 111
5.1.3 访问数组元素 112
5.1.4 使用引用类型 113
5.2 多维数组 114
5.3 锯齿数组 115
5.4 Array类 116
5.4.1 属性 116
5.4.2 创建数组 117
5.4.3 复制数组 117
5.4.4 排序 118
5.5 数组和集合接口 121
5.5.1 IEumerable接口 121
5.5.2 ICollection接口 121
5.5.3 IList接口 121
5.6 枚举 122
5.6.1 IEnumerator接口 123
5.6.2 foreach语句 123
5.6.3 yield语句 123
5.7 小结 127
第6章 运算符和类型强制转换 128
6.1 运算符 128
6.1.1 运算符的简化操作 129
6.1.2 条件运算符 131
6.1.3 checked和unchecked运算符 131
6.1.4 is运算符 132
6.1.5 as运算符 132
6.1.6 sizeof运算符 132
6.1.7 typeof运算符 133
6.1.8 可空类型和运算符 133
6.1.9 空接合运算符 133
6.1.10 运算符的优先级 134
6.2 类型的安全性 134
6.2.1 类型转换 135
6.2.2 装箱和拆箱 138
6.3 对象的相等比较 139
6.3.1 引用类型的相等比较 139
6.3.2 值类型的相等比较 140
6.4 运算符重载 141
6.4.1 运算符的工作方式 142
6.4.2 运算符重载的示例:Vector结构 142
6.5 用户定义的数据类型转换 149
6.5.1 执行用户定义的类型转换 150
6.5.2 多重数据类型转换 156
6.6 小结 159
第7章 委托和事件 160
7.1 委托 160
7.1.1 在C#中声明委托 161
7.1.2 在C#中使用委托 162
7.1.3 简单的委托示例 165
7.1.4 BubbleSorter示例 166
7.1.5 多播委托 169
7.1.6 匿名方法 172
7.1.7 ?表达式 173
7.1.8 协变和抗变 175
7.2 事件 176
7.2.1 从接收器的角度讨论事件 177
7.2.2 生成事件 179
7.3 小结 182
第8章 字符串和正则表达式 184
8.1 System.String类 184
8.1.1 创建字符串 185
8.1.2 StringBuilder成员 188
8.1.3 格式化字符串 189
8.2 正则表达式 194
8.2.1 正则表达式概述 194
8.2.2 RegularExpressionsPlayaround示例 195
8.2.3 显示结果 198
8.2.4 匹配、组合和捕获 199
8.3 小结 201
第9章 泛型 202
9.1 概述 202
9.1.1 性能 203
9.1.2 类型安全 203
9.1.3 二进制代码的重用 204
9.1.4 代码的扩展 204
9.1.5 命名约定 205
9.2 创建泛型类 205
9.3 泛型类的特性 209
9.3.1 默认值 210
9.3.2 约束 210
9.3.3 继承 212
9.3.4 静态成员 213
9.4 泛型接口 213
9.5 泛型方法 214
9.6 泛型委托 216
9.6.1 执行委托调用的方法 216
9.6.2 对Array类使用泛型委托 218
9.7 Framework的其他泛型类型 220
9.7.1 结构Nullable220
9.7.2 EventHandler222
9.7.3 ArraySegment222
9.8 小结 223
第10章 集合 224
10.1 集合接口和类型 224
10.2 列表 227
10.2.1 创建列表 228
10.2.2 只读集合 237
10.3 队列 237
10.4 栈 241
10.5 链表 242
10.6 有序表 248
10.7 字典 250
10.7.1 键的类型 251
10.7.2 字典示例 252
10.7.3 Lookup类 255
10.7.4 其他字典类 256
10.8 HashSet 257
10.9 位数组 260
10.9.1 BitArray 260
10.9.2 BitVector32 262
10.10 性能 264
10.11 小结 266
第11章 Language Integrated Query 267
11.1 LINQ概述 267
11.1.1 使用List的查询 267
11.1.2 扩展方法 273
11.1.3 λ表达式 275
11.1.4 LINQ查询 276
11.1.5 推迟查询的执行 276
11.2 标准的查询操作符 278
11.2.1 过滤 280
11.2.2 用索引来过滤 280
11.2.3 类型过滤 281
11.2.4 复合的from子句 281
11.2.5 排序 282
11.2.6 分组 283
11.2.7 对嵌套的对象分组 284
11.2.8 连接 285
11.2.9 设置操作 287
11.2.10 分区 288
11.2.11 合计操作符 289
11.2.12 转换 290
11.2.13 生成操作符 291
11.3 表达式树 292
11.4 LINQ提供程序 295
11.5 小结 296
第12章 内存管理和指针 297
12.1 后台内存管理 297
12.1.1 值数据类型 297
12.1.2 引用数据类型 299
12.1.3 垃圾收集 300
12.2 释放未托管的资源 301
12.2.1 析构函数 301
12.2.2 IDisposable接口 303
12.2.3 实现IDisposable接口和析构函数 304
12.3 不安全的代码 305
12.3.1 用指针直接访问内存 306
12.3.2 指针示例:PointerPlayaround 314
12.3.3 使用指针优化性能 318
12.4 小结 321
第13章 反射 322
13.1 定制特性 322
13.1.1 编写定制特性 323
13.1.2 定制特性示例:WhatsNewAttributes 326
13.2 反射 329
13.2.1 System.Type类 329
13.2.2 TypeView示例 332
13.2.3 Assembly类 334
13.2.4 完成WhatsNewAttributes示例 335
13.3 小结 339
第14章 错误和异常 340
14.1 异常类 340
14.2 捕获异常 342
14.2.1 执行多个catch块 344
14.2.2 在其他代码中捕获异常 348
14.2.3 System.Exception属性 348
14.2.4 没有处理异常时所发生的情况 349
14.2.5 嵌套的 try块 349
14.3 用户定义的异常类 351
14.3.1 捕获用户定义的异常 352
14.3.2 抛出用户定义的异常 353
14.3.3 定义异常类 356
14.4 小结 358
第Ⅱ部分 Visual Studio
第15章 Visual Studio 2008 360
15.1 使用Visual Studio 2008 360
15.1.1 创建项目 364
15.1.2 解决方案和项目 370
15.1.3 Windows应用程序代码 373
15.1.4 读取Visual Studio 6项目 373
15.1.5 项目的浏览和编码 374
15.1.6 生成项目 382
15.1.7 调试 386
15.2 修订功能 389
15.3 多目标 391
15.4 WPF、WCF、WF等 393
15.4.1 在Visual Studio中建立WPF应用程序 393
15.4.2 在Visual Studio中建立WF应用程序 395
15.5 小结 396
第16章 部署 397
16.1 部署的设计 397
16.2 部署选项 397
16.2.1 Xcopy实用工具 398
16.2.2 Copy Web工具 398
16.2.3 发布Web站点 398
16.2.4 部署项目 398
16.2.5 ClickOnce 398
16.3 部署的要求 398
16.4 部署.NET运行库 399
16.5 简单的部署 400
16.5.1 Xcopy部署 400
16.5.2 Xcopy和Web应用程序 401
16.5.3 Copy Web工具 401
16.5.4 发布Web站点 401
16.6 Installer项目 402
16.6.1 Windows Installer 402
16.6.2 创建安装程序 403
16.7 ClickOnce 411
16.7.1 ClickOnce操作 411
16.7.2 发布应用程序 412
16.7.3 ClickOnce设置 412
16.7.4 应用程序缓存 412
16.7.5 安全性 413
16.7.6 高级选项 413
16.8 小结 418
第Ⅲ部分 基 类 库
第17章 程序集 420
17.1 程序集的含义 420
17.1.1 程序集的特性 421
17.1.2 程序集的结构 421
17.1.3 程序集的清单 422
17.1.4 命名空间、程序集和组件 422
17.1.5 私有程序集和共享程序集 423
17.1.6 辅助程序集 423
17.1.7 查看程序集 423
17.2 构建程序集 424
17.2.1 创建模块和程序集 424
17.2.2 程序集的属性 426
17.3 动态加载和创建程序集 428
17.4 应用程序域 431
17.5 共享程序集 435
17.5.1 强名 435
17.5.2 使用强名获得完整性 436
17.5.3 全局程序集缓存 436
17.5.4 创建共享程序集 438
17.5.5 创建强名 439
17.5.6 安装共享程序集 440
17.5.7 使用共享程序集 440
17.5.8 程序集的延迟签名 442
17.5.9 引用 442
17.5.10 本机图像生成器 443
17.6 配置.NET应用程序 444
17.6.1 配置类别 445
17.6.2 为搜索程序集配置目录 446
17.7 版本问题 448
17.7.1 版本号 448
17.7.2 编程获取版本 449
17.7.3 应用程序配置文件 449
17.7.4 发布方的策略文件 452
17.7.5 运行库的版本 455
17.8 小结 456
第18章 跟踪和事件 457
18.1 跟踪 457
18.1.1 跟踪源 458
18.1.2 跟踪开关 459
18.1.3 跟踪监听器 460
18.1.4 过滤器 462
18.1.5 断言 463
18.2 事件日志 464
18.2.1 事件日志体系架构 465
18.2.2 事件日志类 466
18.2.3 创建事件源 467
18.2.4 写入事件日志 468
18.2.5 资源文件 468
18.3 性能监控 473
18.3.1 性能监控类 473
18.3.2 性能计数器的构建 473
18.3.3 添加PerformanceCounter组件 474
18.3.4 perfmon.exe 476
18.4 小结 477
第19章 线程和同步 478
19.1 概述 478
19.2 异步委托 479
19.2.1 投票 480
19.2.2 等待句柄 481
19.2.3 异步回调 481
19.3 Thread类 483
19.3.1 给线程传送数据 485
19.3.2 后台线程 486
19.3.3 线程的优先级 487
19.3.4 控制线程 487
19.4 线程池 488
19.5 线程问题 489
19.5.1 竞态条件 489
19.5.2 死锁 492
19.6 同步 493
19.6.1 lock语句和线程安全 494
19.6.2 Interlocked 499
19.6.3 Monitor类 500
19.6.4 等待句柄 501
19.6.5 Mutex类 502
19.6.6 Semaphore类 503
19.6.7 Events类 505
19.6.8 ReaderWriterLockSlim 507
19.7 Timer类 510
19.8 COM单元 511
19.9 基于事件的异步模式 512
19.9.1 BackgroundWorker类 513
19.9.2 激活取消功能 516
19.9.3 激活进度功能 517
19.9.4 创建基于事件的异步组件 518
19.10 小结 522
第20章 安全性 523
20.1 身份验证和授权 523
20.1.1 标识和Principal 523
20.1.2 角色 525
20.1.3 声明基于角色的安全性 525
20.1.4 客户应用程序服务 526
20.2 加密 531
20.2.1 签名 533
20.2.2 密钥的互换和安全传送 534
20.3 资源的访问控制 537
20.4 代码访问的安全性 540
20.4.1 权限 541
20.4.2 代码组 550
20.4.3 策略的级别:Machine、User和Enterprise 557
20.5 安全策略的管理 558
20.5.1 代码组和权限的管理 561
20.5.2 安全性的启用和禁用 561
20.5.3 代码组的创建 562
20.5.4 代码组的删除 562
20.5.5 代码组权限的更改 563
20.5.6 权限集的创建和应用 564
20.5.7 使用强名发布代码 565
20.5.8 使用证书发布代码 567
20.6 小结 572
第21章 本地化 573
21.1 System.Globalization命名空间 573
21.1.1 Unicode问题 573
21.1.2 文化和区域 574
21.1.3 使用文化 578
21.1.4 排序 582
21.2 资源 584
21.2.1 创建资源文件 584
21.2.2 资源文件生成器 584
21.2.3 ResourceWriter 585
21.2.4 使用资源文件 585
21.2.5 System.Resources命名空间 590
21.3 使用Visual Studio的Windows Forms本地化示例 591
21.3.1 编程修改文化 595
21.3.2 使用定制资源文件 596
21.3.3 资源的自动回退 597
21.3.4 外包翻译 597
21.4 用ASP.NET本地化 598
21.5 用WPF本地化 600
21.5.1 WPF应用程序 600
21.5.2 .NET资源 601
21.5.3 用XAML本地化 602
21.6 定制的资源读取器 604
21.6.1 创建DatabaseResourceReader类 605
21.6.2 创建DatabaseResourceSet类 606
21.6.3 创建DatabaseResource-Manager类 607
21.6.4 DatabaseResourceReader的客户应用程序 608
21.7 创建定制文化 608
21.8 小结 609
第22章 事务处理 610
22.1 概述 610
22.1.1 事务处理阶段 611
22.1.2 ACID属性 611
22.2 数据库和实体类 612
22.3 传统的事务处理 614
22.3.1 ADO.NET事务处理 614
22.3.2 System.EnterpriseServices 615
22.4 System.Transactions 616
22.4.1 可提交的事务处理 618
22.4.2 事务处理的升级 620
22.4.3 依赖的事务处理 621
22.4.4 环境事务处理 623
22.5 隔离级别 630
22.6 定制资源管理器 631
22.7 Windows Vista和Windows Server 2008 的事务处理 637
22.8 小结 641
第23章 Windows服务 642
23.1 Windows服务 642
23.2 Windows服务的体系结构 643
23.2.1 服务程序 643
23.2.2 服务控制程序 645
23.2.3 服务配置程序 645
23.3 System.ServiceProcess命名空间 645
23.4 创建Windows服务 646
23.4.1 使用套接字的类库 646
23.4.2 TcpClient示例 649
23.4.3 Windows服务项目 652
23.4.4 线程和服务 656
23.4.5 服务的安装 656
23.4.6 安装程序 657
23.5 服务的监视和控制 661
23.5.1 MMC计算机管理 661
23.5.2 net.exe 662
23.5.3 sc.exe 663
23.5.4 Visual Studio Server Explorer 664
23.5.5 ServiceController类 664
23.6 故障排除 671
23.6.1 交互式服务 671
23.6.2 事件日志 672
23.7 电源事件 673
23.8 小结 673
第24章 互操作性 674
24.1 .NET和COM 674
24.1.1 元数据 675
24.1.2 释放内存 675
24.1.3 接口 675
24.1.4 方法绑定 677
24.1.5 数据类型 677
24.1.6 注册 678
24.1.7 线程 678
24.1.8 错误处理 679
24.1.9 事件处理 680
24.2 编组 680
24.3 在.NET客户程序中使用COM组件 681
24.3.1 创建COM组件 681
24.3.2 创建Runtime Callable Wrapper 686
24.3.3 使用RCW 687
24.3.4 可交互操作的主程序集 689
24.3.5 线程问题 689
24.3.6 添加连接点 689
24.3.7 在Windows窗体中使用ActiveX控件 692
24.3.8 在ASP.NET中使用COM对象 694
24.4 在COM客户程序中使用.NET组件 695
24.4.1 COM Callable Wrapper 695
24.4.2 创建.NET组件 695
24.4.3 创建类型库 696
24.4.4 COM互操作特性 698
24.4.5 COM注册 701
24.4.6 创建COM客户程序 701
24.4.7 添加连接点 703
24.4.8 用sink对象创建客户程序 704
24.4.9 在Internet Explorer中运行Windows窗体控件 705
24.5 平台调用 706
24.6 小结 709
第Ⅳ部分 数 据
第25章 文件和注册表操作 712
25.1 管理文件系统 712
25.1.1 表示文件和文件夹的.NET类 713
25.1.2 Path类 716
25.1.3 示例:文件浏览器 716
25.2 移动、复制和删除文件 721
25.2.1 FilePropertiesAndMov
— 没有更多了 —
以下为对购买帮助不大的评价