C#2.0完全参考手册PDF电子书下载
- 电子书积分:23 积分如何计算积分?
- 作 者:(美)Herbert Schildt著
- 出 版 社:北京:清华大学出版社
- 出版年份:2007
- ISBN:7302158428
- 页数:869 页
第Ⅰ部分 C#语言 3
第1章 C#的起源 3
1.1 C#的族谱 3
1.1.1 C语言:现代程序设计的开端 3
1.1.2 OOP和C++语言的创建 4
1.1.3 Internet和Java的出现 4
1.1.4 C#的创建 5
1.1.5 C#的发展 6
1.2 C#如何与.NET框架相关 7
1.3 公共语言运行库的工作原理 8
1.4 托管和非托管代码 8
第2章 C#概述 9
2.1 面向对象程序设计 9
2.1.1 封装 10
2.1.2 多态性 10
2.1.3 继承 11
2.2 简单示例一 11
2.2.1 C#命令行编译器csc.exe 11
2.2.2 Visual Studio集成环境 12
2.2.3 逐行分析第一个示例程序 15
2.3 处理语法错误 18
2.4 改写示例一 18
2.5 简单示例二 19
2.6 另一种数据类型 21
2.7 两种控制语句 22
2.7.1 if语句 23
2.7.2 for循环 24
2.8 代码块 25
2.9 分号、定位和缩进 27
2.10 C#语言的关键字 28
2.11 标识符 29
2.12 C#类库 30
第3章 数据类型、直接量和变量 31
3.1 数据类型的重要性 31
3.2 C#的数据类型 31
3.3 整数类型 32
3.4 浮点类型 34
3.5 decimal类型 36
3.6 字符类型 38
3.7 布尔类型 38
3.8 自定义输出格式 39
3.9 直接量 42
3.9.1 十六进制直接量 43
3.9.2 字符转义序列 43
3.9.3 字符串直接量 44
3.10 变量 46
3.10.1 初始化变量 46
3.10.2 动态初始化变量 46
3.11 变量的作用域和生命周期 47
3.12 类型转换 50
3.12.1 自动类型转换 50
3.12.2 强制类型转换 51
3.13 表达式中的类型转换 54
第4章 运算符 59
4.1 算术运算符 59
4.2 关系和逻辑运算符 63
4.3 赋值运算符 68
4.4 位运算符 69
4.4.1 按位与、或、异或和取反运算符 69
4.4.2 移位运算符 75
4.4.3 位复合赋值 78
4.5 问号运算符“?” 78
4.6 空白符和圆括号 80
4.7 运算符优先级 80
第5章 程序控制语句 81
5.1 if语句 81
5.1.1 if语句嵌套 82
5.1.2 if-else-if阶梯结构 83
5.2 switch语句 85
5.3 for循环 88
5.4 while循环 96
5.5 do-while循环 98
5.6 foreach循环 99
5.7 使用break语句退出循环 99
5.8 continue语句 101
5.9 goto语句 102
第6章 类和对象 105
6.1 类基础 105
6.1.1 类的基本形式 105
6.1.2 定义一个类 106
6.2 如何创建对象 110
6.3 引用类型的变量和赋值 111
6.4 方法 112
6.4.1 给Building类添加方法 112
6.4.2 从方法返回 115
6.4.3 返回值 115
6.4.4 使用参数 117
6.4.5 给Building类添加带参数的方法 120
6.4.6 避免产生不可到达的代码 122
6.5 构造函数 122
6.5.1 带参数的构造函数 123
6.5.2 给Building类添加构造函数 124
6.6 new运算符 125
6.7 垃圾收集和析构函数 126
6.8 this关键字 129
第7章 数组和字符串 131
7.1 数组 131
7.2 多维数组 135
7.2.1 二维数组 135
7.2.2 三维或更多维的数组 137
7.2.3 初始化多维数组 137
7.3 非齐整数组 139
7.4 数组引用赋值 141
7.5 Length属性 142
7.6 foreach循环 146
7.7 字符串 149
7.7.1 构建字符串 149
7.7.2 操作字符串 150
7.7.3 字符串数组 153
7.7.4 字符串是不可变的 154
7.7.5 在switch语句中使用字符串 155
第8章 方法和类 157
8.1 控制对类成员的访问 157
8.1.1 C#的访问限定符 157
8.1.2 公有访问和私有访问的应用 159
8.1.3 访问控制:案例分析 160
8.2 给方法传递引用 164
8.3 使用ref和out参数 168
8.3.1 ref关键字 169
8.3.2 out关键字 170
8.3.3 对引用参数使用ref和out 173
8.4 数量可变的参数 174
8.5 返回对象 177
8.6 方法重载 181
8.7 构造函数重载 186
8.8 Main()方法 191
8.8.1 从Main()返回值 191
8.8.2 给Main()传递参数 192
8.9 递归 194
8.10 static关键字 196
8.11 静态类 202
第9章 运算符重载 205
9.1 运算符重载基础 205
9.1.1 重载二元运算符 206
9.1.2 重载一元运算符 208
9.2 针对C#内置类型的数据重载运算符 212
9.3 重载关系运算符 216
9.4 重载true和false 218
9.5 重载逻辑运算符 221
9.5.1 一种重载逻辑运算符的简单方法 221
9.5.2 使用短路运算符 223
9.6 类型转换运算符 227
9.7 运算符重载的注意事项 231
9.8 运算符重载的另一个示例 232
第10章 索引器和属性 237
10.1 索引器 237
10.1.1 创建一维索引器 237
10.1.2 索引器重载 241
10.1.3 索引器不需要一个潜在的数组 243
10.1.4 多维索引器 244
10.2 属性 247
10.3 对访问器使用访问限定符 252
10.4 使用索引器和属性 253
第11章 继承 259
11.1 继承基础 259
11.2 成员访问和继承 262
11.3 构造函数和继承 266
11.4 继承和名称隐藏 273
11.5 创建多级层次结构 276
11.6 构造函数的调用 279
11.7 基类引用和派生对象 280
11.8 虚方法和重写 284
11.8.1 为什么要重写方法? 288
11.8.2 应用虚方法 288
11.9 使用抽象类 292
11.10 使用sealed来阻止继承 296
11.11 object类 296
11.11.1 装箱和拆箱 298
11.11.2 object是通用数据类型吗? 300
第12章 接口、结构和枚举 303
12.1 接口 303
12.2 使用接口类型的引用 308
12.3 接口属性 311
12.4 接口索引器 312
12.5 接口的继承 314
12.6 接口继承引起的名称隐藏 315
12.7 显式实现 315
12.7.1 创建私有实现 316
12.7.2 使用显式实现来消除多义性 317
12.8 是接口还是抽象类? 318
12.9 .NET标准接口 319
12.10 接口的实例研究 319
12.11 结构 324
12.12 枚举 329
12.12.1 初始化一个枚举 331
12.12.2 指定枚举的基本类型 331
12.12.3 使用枚举 331
第13章 异常处理 335
13.1 System.Exception类 335
13.2 异常处理的基础 336
13.2.1 使用try和catch 336
13.2.2 一个简单的异常示例 337
13.2.3 另一个异常示例 338
13.3 未捕获异常的后果 339
13.4 使用多个catch语句 342
13.5 捕获所有的异常 343
13.6 嵌套try模块 344
13.7 抛出异常 345
13.8 finally语句 347
13.9 进一步分析异常 349
13.10 派生异常类 352
13.11 捕获派生类异常 356
13.12 checked语句和unchecked语句 357
第14章 I/O系统 361
14.1 C#的I/O依赖于数据流 361
14.1.1 字节数据流和字符数据流 361
14.1.2 预定义数据流 362
14.1.3 数据流类 362
14.1.4 Stream类 362
14.1.5 字节数据流类 363
14.1.6 字符数据流封装类 364
14.1.7 二进制数据流 365
14.2 控制台I/O 365
14.2.1 读取控制台输入 365
14.2.2 使用ReadKey()方法 367
14.2.3 写入控制台输出 369
14.3 文件数据流和面向字节的文件I/O操作 370
14.3.1 打开和关闭文件 370
14.3.2 从FileStream中读取字节 372
14.3.3 写入文件 373
14.3.4 使用FileStream复制文件 374
14.4 基于字符的文件I/O操作 376
14.4.1 StreamWriter类 376
14.4.2 StreamReader类 378
14.5 重定向标准数据流 379
14.6 读取和写入二进制数据 381
14.6.1 BinaryWriter 381
14.6.2 BinaryReader 382
14.6.3 二进制I/O操作的程序示例 383
14.7 随机访问文件 388
14.8 使用MemoryStream 390
14.9 StringReader和StringWriter 392
14.10 把数值型字符串转换为内部表示格式 393
第15章 委托和事件 397
15.1 委托 397
15.1.1 委托的方法组转换 400
15.1.2 用委托引用类的实例方法 400
15.1.3 多播委托 402
15.1.4 匿名方法 404
15.1.5 给匿名方法传递参数 405
15.1.6 从匿名方法中返回一个值 406
15.1.7 在匿名方法中使用外部变量 407
15.1.8 协变和逆变 409
15.1.9 System.Delegate 410
15.1.10 使用委托的原因 411
15.2 事件 411
15.2.1 多播委托事件的示例 413
15.2.2 事件处理程序中实例方法和静态方法的区别 414
15.2.3 使用事件访问器 417
15.2.4 事件的其他特性 421
15.3 .NET事件的规则 421
15.4 在事件处理中使用匿名方法 424
15.5 事件的应用:案例分析 425
第16章 命名空间、预处理器和程序集 429
16.1 命名空间 429
16.1.1 命名空间的声明 430
16.1.2 命名空间可以避免名称冲突 432
16.1.3 using命令 433
16.1.4 using命令的另一种形式 435
16.1.5 命名空间的合成 436
16.1.6 嵌套命名空间 438
16.1.7 默认的命名空间 439
16.1.8 使用命名空间限定符(∷) 440
16.2 预处理器 444
16.2.1 #define命令 444
16.2.2 #if命令和#endif命令 444
16.2.3 #else命令和#elif命令 446
16.2.4 #undef命令 448
16.2.5 #error命令 448
16.2.6 #warning命令 448
16.2.7 #line命令 448
16.2.8 #region命令和#endregion命令 449
16.2.9 #pragma命令 449
16.3 程序集和internal访问修饰符 450
第17章 运行时类型标识、反射和属性 453
17.1 运行时类型标识 453
17.1.1 is运算符 453
17.1.2 as运算符 454
17.1.3 typeof运算符 456
17.2 反射 457
17.3 使用反射 459
17.3.1 获取方法的相关信息 459
17.3.2 GetMethods()的另一种形式 462
17.3.3 使用反射来调用方法 463
17.3.4 获取Type对象的构造函数 466
17.3.5 从程序集获得类型 470
17.3.6 全自动类型查询 475
17.4 特性 478
17.4.1 特性基础 478
17.4.2 创建特性 478
17.4.3 添加特性 479
17.4.4 获取对象的特性 479
17.4.5 位置参数和命名参数 481
17.5 3个内置特性 485
17.5.1 AttributeUsage特性 485
17.5.2 Conditional特性 486
17.5.3 Obsolete特性 487
第18章 泛型 489
18.1 泛型概念 489
18.2 一个简单的泛型示例 490
18.2.1 泛型类型因类型参数的不同而不同 493
18.2.2 泛型如何实现类型安全 493
18.3 一个使用两个类型参数的泛型类 496
18.4 泛型类的通用形式 497
18.5 类型约束 498
18.5.1 基类约束 498
18.5.2 接口约束 506
18.5.3 new()构造函数约束 511
18.5.4 引用类型和值类型约束 512
18.5.5 使用约束来建立两个类型参数之间的关系 514
18.5.6 多重约束 515
18.6 创建类型参数的默认对象 516
18.7 泛型结构 518
18.8 创建泛型方法 519
18.8.1 调用泛型方法时显式地指定类型参数 522
18.8.2 为泛型方法指定约束 522
18.9 泛型委托 523
18.10 泛型接口 526
18.11 比较同一类型参数的两个实例的值 530
18.12 泛型类的层次结构 533
18.12.1 使用泛型基类 533
18.12.2 泛型派生类 535
18.13 重写泛型类中的虚拟方法 536
18.14 重载带类型参数的方法 538
18.15 泛型类型的实例化 539
18.16 使用泛型时的一些局限 540
18.17 小结 540
第19章 不安全代码、指针和其他主题 541
19.1 不安全代码 541
19.1.1 指针类型 542
19.1.2 unsafe关键字 543
19.1.3 fixed修饰符 544
19.1.4 通过指针访问结构成员 545
19.1.5 指针运算 545
19.1.6 指针的比较 547
19.1.7 指针和数组 548
19.1.8 指针和字符串 550
19.1.9 多重间接寻址 550
19.1.10 指针数组 551
19.1.11 sizeof 552
19.1.12 stackalloc 552
19.1.13 创建固定大小的缓冲区 553
19.2 空类型 554
19.2.1 空类型基础 555
19.2.2 表达式中的空对象 556
19.2.3 ??运算符 557
19.2.4 在空对象上使用关系和逻辑运算符 558
19.3 局部类定义 559
19.4 友元程序集 560
19.5 其他关键字 561
19.5.1 lock关键字 561
19.5.2 readonly关键字 561
19.5.3 using语句 562
19.6 const和volatile修饰符 563
19.7 extern关键字 563
19.7.1 声明extern方法 563
19.7.2 声明extern程序集别名 563
第Ⅱ部分 C#类库研究 569
第20章 System命名空间 569
20.1 System的成员 569
20.2 Math类 571
20.3 与内置数值类型对应的.NET结构 576
20.3.1 整型结构 577
20.3.2 浮点类型结构 579
20.3.3 Decimal结构 583
20.3.4 Char结构 587
20.3.5 Boolean结构 592
20.4 Array类 593
20.4.1 排序和查找 602
20.4.2 反转数组 604
20.4.3 复制数组 605
20.4.4 谓词 606
20.4.5 Action委托 607
20.4.6 BitConverter类 608
20.5 用Random产生随机数 610
20.6 内存管理和GC类 611
20.7 Object类 613
20.8 IComparable和IComparable<T>接口 613
20.9 IConvertible接口 614
20.10 ICloneable接口 614
20.11 IFormatProvider接口和IFormattable接口 616
20.12 IEquatable<T>接口 617
第21章 字符串和格式化 619
21.1 C#中的字符串 619
21.2 String类 620
21.2.1 字符串构造函数 620
21.2.2 String类的字段、索引和属性 621
21.2.3 字符串运算符 621
21.2.4 字符串方法 621
21.2.5 填充和剪裁字符串 637
21.2.6 插入、删除和替换 638
21.2.7 改变字母大小写 640
21.2.8 使用Substring()方法 640
21.3 格式化类型 641
21.3.1 格式化类型概述 641
21.3.2 数值型数据的格式 642
说明符 642
21.3.3 参数编号 643
21.4 使用String.Format()和ToString()格式化数据 644
21.4.1 使用String.Format()格式化数值 644
21.4.2 使用ToString()格式化数据 647
21.5 自定义数字格式 648
21.6 格式化日期和时间 651
21.7 格式化枚举 656
第22章 多线程程序设计 659
22.1 多线程基础 659
22.2 Thread类 660
22.2.1 创建和启动线程 660
22.2.2 一些简单的改进 663
22.2.3 创建多个线程 664
22.3 确定线程结束的时间 667
22.4 为线程传递参数 669
22.5 IsBackground属性 672
22.6 线程优先级 672
22.7 同步 675
22.7.1 实现同步的另一种方式 678
22.7.2 锁定静态方法 680
22.7.3 Monitor类和锁 680
22.8 使用Wait()、Pulse()和PulseAll()实现线程通信 680
22.8.1 Wait()和Pulse()的示例 681
22.8.2 死锁 685
22.9 MethodImplAttribute属性 685
22.10 互斥锁和信号量 687
22.10.1 互斥锁 687
22.10.2 信号量 691
22.11 同步事件 694
22.12 Interlocked类 697
22.13 终止线程 698
22.13.1 Abort()的另一种形式 700
22.13.2 取消Abort() 701
22.14 挂起和恢复线程 703
22.15 判断线程的状态 703
22.16 使用主线程 703
22.17 多线程编程提示 705
22.18 开启独立任务 705
第23章 集合、枚举器和迭代器 707
23.1 集合概述 707
23.2 非泛型集合 708
23.2.1 非泛型接口 709
23.2.2 DictionaryEntry结构 712
23.2.3 非泛型集合类 713
23.3 使用BitArray类存储位 729
23.4 专用集合 732
23.5 泛型集合 732
23.5.1 泛型接口 733
23.5.2 KeyValuePair<TK,TV>结构 736
23.5.3 泛型集合类 736
23.6 在集合中存储用户自定义的类 754
23.7 实现IComparable接口 756
23.7.1 为非泛型集合实现IComparable接口 756
23.7.2 为泛型集合实现IComparable<T>接口 758
23.8 使用IComparer接口 759
23.8.1 非泛型IComparer 760
23.8.2 泛型IComparer 761
23.9 通过枚举器访问集合 763
23.9.1 使用枚举器 763
23.9.2 使用IDictionary Enumerator 764
23.10 实现IEnumerable和Ienumerator接口 766
23.11 迭代器 767
23.11.1 停用迭代器 770
23.11.2 使用多个yield语句 770
23.11.3 创建命名迭代器 771
23.11.4 创建泛型迭代器 773
第24章 通过Internet连网 775
24.1 System.Net的成员 775
24.2 统一资源标识符 777
24.3 Internet访问基础 777
24.3.1 WebRequest类 778
24.3.2 WebResponse类 780
24.3.3 HttpWebRequest类和HttpWebResponse类 781
24.3.4 一个简单的示例 781
24.4 处理网络错误 784
24.4.1 Create()产生的异常 784
24.4.2 GetResponse()产生的异常 784
24.4.3 GetResponseStream()产生的异常 785
24.4.4 使用异常处理 785
24.5 Uri类 786
24.6 访问附加的HTTP响应信息 788
24.6.1 访问报头 789
24.6.2 访问Cookie 790
24.6.3 使用LastModified属性 791
24.7 MiniCrawler:案例分析 792
24.8 使用WebClient 796
第Ⅲ部分 C#应用 803
第25章 构建组件 803
25.1 组件的概念 803
25.2 C#组件的概念 804
25.2.1 容器和站点 804
25.2.2 C#组件与COM组件 804
25.3 IComponent接口 805
25.4 Component类 805
25.5 一个简单的组件示例 806
25.5.1 编译CipherLib 807
25.5.2 使用CipherComp的客户端程序 807
25.6 重写Dispose(bool) 808
25.6.1 Dispose(bool)实例 809
25.6.2 防止使用已删除的组件 814
25.7 使用using语句 815
25.8 容器 816
25.9 组件是程序设计的未来 819
第26章 创建基于窗体的Windows应用程序 821
26.1 Windows程序设计简史 821
26.2 编写基于窗体的Windows应用程序的两种方式 822
26.3 Windows与用户交互操作的方法 822
26.4 Windows窗体 823
26.5 基于窗体的Windows框架程序 823
26.6 添加按钮 825
26.6.1 按钮概述 826
26.6.2 给窗体添加按钮 826
26.6.3 一个简单的按钮示例 826
26.7 消息处理 827
26.8 使用消息框 830
26.9 添加菜单 832
26.9.1 创建传统样式的主菜单 833
26.9.2 使用MenuStrip创建新式菜单 837
26.10 总述 840
第27章 设计递归表达式的分析程序 843
27.1 表达式 843
27.2 分析表达式:发现问题 844
27.3 分析表达式:解决问题 845
27.4 解析表达式 846
27.5 一个简单的表达式分析程序 849
27.6 为分析程序添加变量 855
27.7 递归分析程序中的语法检查 863
27.8 尝试一些改进 864
附录A XML注释 865
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《战略情报 情报人员、管理者和用户手册》(澳)唐·麦克道尔(Don McDowell)著 2019
- 《2014年全新版浙江省人事考试参考用书 申论》曹文彪 2013
- 《实用内科手册》黄清,阮浩航主编 2016
- 《基层医疗卫生机构安全用药手册》黎月玲,熊慧瑜 2019
- 《同仁眼科手册系列 同仁儿童眼病手册》付晶编 2018
- 《环境噪声监测实用手册》中国环境监测总站编 2018
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019