第1章 绪论 1
1.1 Microsoft.NET技术 1
1.2 .NET Framework 2
1.2.1 公共语言运行时(CLR) 3
1.2.2 .NET类库 3
1.3 C#语言简介 4
1.4 开发第一个C#应用程序 6
1.5 C#程序的基本结构 8
1.5.1 程序集 8
1.5.2 命名空间 10
1.5.3 类型和方法 10
1.5.4 程序注释 12
1.6 与用户进行交互 12
1.6.1 控制台交互 12
1.6.2 Windows窗体应用程序 15
本章小结 17
习题1 17
第2章 C#数据类型 19
2.1 值类型 19
2.1.1 整数类型 19
2.1.2 字符类型 22
2.1.3 实数类型 23
2.1.4 布尔类型 24
2.1.5 结构 25
2.1.6 枚举 26
2.2 引用类型 28
2.2.1 类 28
2.2.2 接口 31
2.2.3 委托 33
2.2.4 数组 35
2.3 类型转换 39
2.3.1 数值转换 39
2.3.2 枚举转换 42
2.3.3 引用转换 43
2.3.4 装箱和拆箱转换 45
2.3.5 转换检查 47
本章小结 47
习题2 47
第3章 成员、变量和常量 50
3.1 基本成员类型 50
3.1.1 字段 50
3.1.2 方法 51
3.1.3 嵌套成员 56
3.2 成员访问限制 56
3.2.1 private修饰符 56
3.2.2 public修饰符 57
3.2.3 protected修饰符 58
3.2.4 internal修饰符 58
3.2.5 访问限制级别 60
3.3 静态成员和非静态成员 61
3.4 变量 63
3.5 常量 66
本章小结 68
习题3 68
第4章 操作符和表达式 71
4.1 操作符 71
4.2 算术表达式 72
4.2.1 基本算术运算 72
4.2.2 枚举运算 75
4.2.3 模运算 76
4.2.4 其他 77
4.3 自增和自减表达式 79
4.4 位运算表达式 80
4.4.1 取补运算 80
4.4.2 与、或、异或运算 81
4.4.3 移位运算 82
4.5 赋值表达式 83
4.6 关系表达式 84
4.6.1 比较运算 84
4.6.2 类型判断 85
4.7 条件逻辑表达式 87
4.8 其他特殊表达式 88
4.8.1 一元加减表达式 88
4.8.2 条件表达式 89
4.8.3 类型表达式 89
4.8.4 创建表达式 93
4.8.5 溢出检查表达式 95
本章小结 96
习题4 96
第5章 流程控制 98
5.1 选择结构 98
5.1.1 if语句 98
5.1.2 switch语句 101
5.2 循环结构 103
5.2.1 while循环语句 103
5.2.2 do-while循环语句 104
5.2.3 for循环语句 106
5.2.4 foreach循环语句 109
5.3 跳转结构 111
5.3.1 break语句 111
5.3.2 continue语句 112
5.3.3 return语句 113
5.3.4 goto语句 114
本章小结 116
习题5 116
第6章 深入理解类 118
6.1 面向对象的方法学 118
6.2 构造函数和析构函数 119
6.2.1 构造函数 119
6.2.2 析构函数 121
6.2.3 静态构造函数 121
6.3 属性 123
6.4 索引函数 126
6.5 事件 129
6.5.1 事件与委托 129
6.5.2 使用EventHandler委托对象 131
6.5.3 Windows控件事件 133
6.6 操作符重载 135
6.7 this关键字 139
本章小结 142
习题6 142
第7章 继承和多态性 145
7.1 继承 145
7.1.1 基类和派生类 145
7.1.2 成员覆盖 149
7.1.3 对象生命周期 151
7.2 多态性 153
7.2.1 成员的虚拟和重载 153
7.2.2 抽象方法和抽象类 157
7.2.3 密封方法和密封类 160
7.3 接口及其实现 162
7.3.1 接口和抽象类 162
7.3.2 接口方法调用 163
7.3.3 接口与集合 168
本章小结 173
习题7 174
第8章 常用类型 176
8.1 Math类 176
8.2 字符串类型 179
8.2.1 构造字符串 179
8.2.2 字符操作 180
8.2.3 子串操作 183
8.2.4 格式化与解析 187
8.2.5 使用StringBuilder类 192
8.3 窗体和控件类 194
8.3.1 与窗体界面有关的若干结构 194
8.3.2 Form类 195
8.3.3 Control类 198
8.3.4 其他基本控件 199
本章小结 202
习题8 203
第9章 泛型基础 204
9.1 为何使用泛型 204
9.2 创建泛型类 206
9.2.1 泛型集合示例 206
9.2.2 成员与类型参数 208
9.2.3 调用类型参数 210
9.2.4 泛型的静态成员 211
9.3 多参数泛型 212
9.3.1 使用多个类型参数 212
9.3.2 类型参数与标识 215
9.4 类型限制 216
9.4.1 主要限制 216
9.4.2 次要限制 216
9.4.3 构造函数限制 219
9.5 泛型与继承 219
9.5.1 普通基类与派生泛型类 220
9.5.2 泛型基类与普通派生类 222
9.5.3 泛型基类与泛型派生类 223
本章小结 226
习题9 227
第10章 可空类型 229
10.1 引入可空类型 229
10.2 泛型结构Nullable 232
10.2.1 概述 232
10.2.2 结构成员 233
10.3 可空类型的转换 234
10.4 可空类型上的操作 237
10.4.1 类型检查 237
10.4.2 空值结合 237
10.4.3 操作符提升 238
10.5 可空布尔类型 241
本章小结 243
习题10 243
第11章 泛型接口、方法和委托 245
11.1 泛型接口 245
11.1.1 概述 245
11.1.2 继承中的唯一性 250
11.1.3 泛型接口与集合 253
11.2 泛型方法 257
11.2.1 概述 257
11.2.2 定义和调用 258
11.2.3 方法标识 260
11.2.4 方法重载 262
11.3 泛型方法与委托 267
本章小结 270
习题11 270
第12章 遍历器 273
12.1 foreach语句与遍历 273
12.2 理解可枚举类型 275
12.2.1 IEnumerable和IEnumerable〈T〉接口 275
12.2.2 实现多种遍历方式 277
12.3 使用枚举器 283
12.3.1 Iterator模式 283
12.3.2 自定义枚举器 284
12.4 遍历机制 287
12.4.1 遍历器代码 287
12.4.2 遍历流程 289
12.5 自我枚举和遍历 290
本章小结 294
习题12 294
第13章 匿名方法 296
13.1 命名方法和匿名方法 296
13.2 深入了解Delegate类 298
13.2.1 创建委托对象 298
13.2.2 属性 299
13.2.3 方法调用 301
13.3 匿名方法的定义规则 303
13.4 外部变量 304
13.5 委托对象作为方法参数和返回值 307
13.6 在事件中使用匿名方法 312
本章小结 316
习题13 316
第14章 异常处理 319
14.1 错误和异常 319
14.2 C#中的异常处理结构 322
14.2.1 try-catch语句 322
14.2.2 try-catch-finally语句 324
14.2.3 try-finally语句 328
14.2.4 throw语句 328
14.3 异常的层次结构 330
14.3.1 异常传播 331
14.3.2 Exception类 333
14.3.3 常见异常类型 335
14.4 使用异常的原则和技巧 337
本章小结 338
习题14 338
第15章 文件IO操作 341
15.1 文件系统概述 341
15.2 驱动器、目录和文件 342
15.2.1 与IO操作相关的枚举 342
15.2.2 驱动器 343
15.2.3 目录 346
15.2.4 文件 349
15.3 文件流和数据流 352
15.3.1 抽象类Stream 352
15.3.2 文件流FileStream 354
15.3.3 流的文本读写器 356
15.3.4 流的二进制读写器 359
15.3.5 常用的其他流对象 360
15.4 自定义IO操作 363
本章小结 369
习题15 369
第16章 进程和线程 371
16.1 进程 371
16.2 线程 376
16.2.1 使用多线程 376
16.2.2 线程对象及其状态 380
16.2.3 线程同步 383
16.2.4 异步回调 389
本章小结 392
习题16 392
第17章 代码组织与管理 394
17.1 分部类型 394
17.1.1 分部类型的定义 394
17.1.2 分部泛型 396
17.1.3 分部类型的应用 398
17.2 代码中的预处理器指令 402
17.2.1 条件编译 402
17.2.2 编译警告和错误 407
17.2.3 其他一些预处理器指令 408
17.3 XML代码注释 408
17.3.1 使用XML注释 408
17.3.2 关于注释标记 411
本章小结 413
习题17 413
参考文献 415