第1章 C#语言概述 1
1.1 C#特性概述 2
1.2 C#与C++的比较 4
1.3 C#与Java的比较 5
1.3.1 C#与Java的共同点 5
1.3.2 C#与Java的区别 6
1.4 Visual Studio.NET的安装 7
1.4.1 软硬件环境需求 7
1.4.2 安装 7
第2章 C#数据类型 11
2.1 数据类型 11
2.1.1 值类型及示例分析 11
2.1.2 引用类型 38
2.1.3 类型引用表 55
2.2 常量和变量 59
2.2.1 变量 60
2.2.2 常量 62
第3章 C#操作符 64
3.1 算术溢出 64
3.2 []操作符 65
3.3 ()操作符 67
3.4 .操作符 69
3.5 +操作符 71
3.6 -操作符 72
3.7 *操作符 73
3.8 /操作符 75
3.9 %操作符 77
3.10 &操作符 78
3.11 |操作符 79
3.12 ∧操作符 80
3.13 !操作符 81
3.14 ~操作符 82
3.15 =操作符 84
3.16 <操作符 85
3.17 >操作符 86
3.18 ?:操作符 87
3.19 ++操作符 89
3.20 --操作符 91
3.21 &&操作符 92
3.22 ||操作符 94
3.23 <<操作符 95
3.24 >>操作符 96
3.25 ==操作符 98
3.26 !=操作符 100
3.27 <=操作符 101
3.28 >=操作符 102
3.29 +=操作符 104
3.30 _=操作符 105
3.31 *=操作符 106
3.32 /=操作符 107
3.33 %=操作符 108
3.34 &=操作符 110
3.35 |=操作符 111
3.36 ∧=操作符 112
3.37 <<=操作符 114
3.38 >>=操作符 115
3.39 _>操作符 116
3.40 操作符的重载 118
第4章 数组 122
4.1 什么是数组 122
4.2 数组的声明和初始化 122
4.3 访问数组成员 124
4.4 一维数组和多维数组 126
4.4.1 一维数组 126
4.4.2 多维数组 127
4.5 数组的遍历 128
4.6 数组查询 131
第5章 流程控制语句 133
5.1 选择语句 133
5.1.1 if-else语句 133
5.1.2 switch-case语句 141
5.2 循环语句 146
5.2.1 do-while语句 147
5.2.2 for语句 149
5.2.3 foreach-in语句 151
5.2.4 while语句 157
5.3 跳转语句 158
5.3.1 break语句 158
5.3.2 continue语句 161
5.3.3 goto语句 162
5.3.4 return语句 166
5.4 检查和非检查 168
5.4.1 checked语句 168
5.4.2 unchecked语句 170
5.5 非保护和固定 173
5.5.1 unsafe语句 173
5.5.2 fixed语句 175
5.6 锁定语句 177
第6章 C#关键字 183
6.1 限定符 183
6.1.1 访问限定符 183
6.1.2 internal限定符 188
6.1.3 private限定符 192
6.1.4 protected限定符 195
6.1.5 public限定符 197
6.1.6 abstract限定符 198
6.1.7 const限定符 205
6.1.8 event限定符 208
6.1.9 extern限定符 212
6.1.10 override修饰符 215
6.1.11 readonly限定符 220
6.1.12 sealed限定符 224
6.1.13 static限定符 227
6.1.14 virtual限定符 232
6.2 名称空间 235
6.2.1 namespace关键字 235
6.2.2 using关键字 237
6.3 操作符关键字 240
6.3.1 as关键字 241
6.3.2 is关键字 242
6.3.3 new关键字 246
6.3.4 sizeof关键字 253
6.3.5 typeof关键字 255
6.3.6 true关键字 256
6.3.7 false关键字 258
6.3.8 stackalloc关键字 261
6.4 转换关键字 263
6.4.1 explicit关键字 263
6.4.2 implicit关键字 265
6.4.3 operator关键字 267
第7章 装箱与拆箱 271
7.1 装箱 271
7.2 拆箱 273
第8章 面向对象的编程 276
8.1 对象 276
8.2 属性 277
8.2.1 属性的声明 277
8.2.2 访问器 281
8.2.3 接口属性 288
8.2.4 静态属性 290
8.2.5 覆盖属性 292
8.2.6 虚拟属性 295
8.2.7 抽象属性 295
8.3 域 297
8.3.1 域的声明 297
8.3.2 域的初始化 300
8.3.3 静态域 301
8.3.4 非静态域 302
8.3.5 只读域 305
8.4 方法 309
8.4.1 方法的声明 309
8.4.2 方法参数 313
8.4.3 静态和非静态方法 319
8.4.4 方法的返回值 322
8.4.5 方法的重载 323
8.4.6 Main方法 325
8.4.7 构造函数和析构函数 327
8.4.8 this关键字 331
8.5 继承 335
8.5.1 继承概述 336
8.5.2 方法的覆盖 339
8.5.3 base关键字 340
8.5.4 多态性 343
第9章 类 345
9.1 类的声明 345
9.2 类的成员 347
9.2.1 对类的成员的访问 348
9.2.2 静态成员和非静态成员 352
9.3 抽象类 353
9.4 密封类 356
第10章 异常处理 358
10.1 throw语句 358
10.2 try-catch语句 360
10.3 try-finally语句 364
10.4 try-catch-finally语句 365
10.5 try语句执行情况分析 366
第11章 C#预处理程序指令 368
11.1 #if 368
11.2 #else 370
11.3 #elif 372
11.4 #endif 373
11.5 #define 373
11.6 #undef 375
11.7 #warning 376
11.8 #error 378
11.9 #line 379
11.10 #region 380
11.11 #endregion 382
第12章 事件和索引 383
12.1 事件 383
12.1.1 事件的声明 383
12.1.2 静态事件 385
12.2 索引 385
12.2.1 索引的声明 385
12.2.2 属性和索引的比较 388
12.2.3 接口索引 388
第13章 C#特性 392
13.1 特性用法 392
13.2 全局特性 392
13.3 创建自定义特性 393
13.4 检索特性信息 393
13.5 AttributeUsage特性 396
13.6 Conditional特性 398
13.7 Obsolete特性 400
第14章 XML文档 403
14.1 文档注释标记 403
14.1.1 <c>标记 403
14.1.2 <code>标记 405
14.1.3 <example>标记 407
14.1.4 <exception>标记 409
14.1.5 <list>标记 410
14.1.6 <para>标记 413
14.1.7 <param>标记 415
14.1.8 <paramref>标记 416
14.1.9 <permission>标记 418
14.1.10 <remarks>标记 419
14.1.11 <returns>标记 421
14.1.12 <see>标记 422
14.1.13 <seealso>标记 424
14.1.14 <summary>标记 426
14.1.15 <value>标记 428
14.2 处理XML文档 429
14.3 XML应用示例 431
第15章 客票查询系统 437
15.1 设计综述 437
15.1.1 信息查询 437
15.1.2 预定车票 437
15.2 设计步骤 438
15.3 查询系统功能介绍 448
附录 误码 454