第1章 概述 1
1.1 .NET平台简介 1
1.1.1 公共语言运行库 1
1.1.2 框架类库 2
1.2 程序集 2
1.3 C#语言的特点 2
1.4 C#语言与面向对象编程 3
1.4.1 封装 4
1.4.2 继承 4
1.4.3 多态 5
1.5 C#程序开发工具 5
1.6 编辑、编译和运行C#程序 5
1.7 C#程序的基本结构 7
1.7.1 注释 7
1.7.2 using指令 7
1.7.3 空白 8
1.7.4 类 8
1.7.5 方法 8
1.7.6 语句 9
1.8 习题 9
第2章 C#语言编程基础 10
2.1 标识符和关键字 10
2.1.1 标识符 10
2.1.2 关键字 11
2.2 基本数据类型 11
2.2.1 整数类型 11
2.2.2 浮点数类型 12
2.2.3 字符型 12
2.2.4 布尔型 12
2.2.5 字符串型 12
2.2.6 object型 13
2.3 变量 13
2.4 文字常量 13
2.4.1 整型常量 13
2.4.2 浮点型常量 14
2.4.3 字符常量 14
2.4.4 字符串常量 15
2.4.5 布尔常量 16
2.5 表达式 17
2.5.1 运算符 18
2.5.2 数值类型转换 29
2.6 结构与枚举 32
2.6.1 结构 32
2.6.2 枚举 35
2.6.3 结构与基本数据类型 37
2.7 值类型与引用类型 39
2.8 控制台输入 39
2.9 习题 40
第3章 控制语句 43
3.1 语句简介 43
3.2 选择语句 43
3.2.1 if语句 43
3.2.2 switch语句 45
3.3 循环语句 47
3.3.1 while语句 48
3.3.2 do-while语句 49
3.3.3 for语句 49
3.4 跳转语句 51
3.4.1 break语句 51
3.4.2 continue语句 52
3.4.3 goto语句 53
3.5 习题 55
第4章 方法 56
4.1 定义方法 56
4.2 调用方法 57
4.3 参数传递 59
4.3.1 值传递 59
4.3.2 引用传递 60
4.4 递归 62
4.5 方法重载 65
4.6 结构方法 68
4.7 习题 69
第5章 类 71
5.1 抽象与封装 71
5.2 类和对象的定义 71
5.3 字段 73
5.3.1 静态字段 73
5.3.2 只读字段 74
5.4 常量 74
5.5 方法进阶 75
5.5.1 静态方法 76
5.5.2 引用类型参数传递 77
5.6 对象的初始化与构造函数 79
5.6.1 类定义时指定初值 82
5.6.2 构造函数 83
5.6.3 静态构造函数 86
5.6.4 结构与初始化 87
5.7 程序集与命名空间 90
5.7.1 程序集 90
5.7.2 创建命名空间 92
5.7.3 使用命名空间 94
5.8 访问权限修饰符 98
5.8.1 数据类型访问权限控制 98
5.8.2 成员访问权限控制 98
5.9 属性 101
5.10 作用域 104
5.10.1 类成员的作用域 105
5.10.2 局部变量的作用域 104
5.10.3 垃圾回收与析构函数 106
5.11 关键字this 107
5.12 习题 111
第6章 继承与多态 116
6.1 继承简介 116
6.2 基类与派生类 117
6.2.1 继承的语法 117
6.2.2 派生类的构造函数 120
6.2.3 结构与继承 124
6.3 重写与隐藏 124
6.3.1 重写基类成员 124
6.3.2 隐藏基类成员 127
6.4 引用类型转换 129
6.5 多态与动态绑定 133
6.6 抽象类和抽象方法 136
6.7 密封类、密封方法和静态类 139
6.8 接口 140
6.8.1 定义接口 141
6.8.2 实现接口 142
6.8.3 显式实现接口 146
6.9 Object类 148
6.9.1 Equals方法 148
6.9.2 ToString方法 150
6.10 装箱与拆箱 152
6.10.1 装箱 152
6.10.2 拆箱 153
6.11 两个常用.NET框架类型 155
6.11.1 DateTime结构 155
6.11.2 Math类 157
6.12 习题 159
第7章 数组 163
7.1 声明和创建数组 163
7.1.1 声明数组 163
7.1.2 创建数组 163
7.2 多维数组 168
7.3 交错数组 170
7.4 foreach语句 172
7.5 数组与方法 174
7.5.1 将数组传递给方法 174
7.5.2 参数数组 177
7.5.3 Main方法和命令行参数 179
7.5.4 返回数组 181
7.6 Array类 182
7.6.1 数组的复制 182
7.6.2 数组排序 184
7.6.3 在数组中查找 188
7.7 习题 190
第8章 异常处理 191
8.1 异常简介 191
8.2 引发异常 194
8.3 异常的捕捉及处理 195
8.3.1 异常处理的基本语法 195
8.3.2 捕捉并处理所有异常 199
8.4 finally语句 200
8.5 关键字checked和unchecked 202
8.6 习题 204
第9章 索引器 206
9.1 索引器的定义和使用 206
9.2 重载索引器 212
9.3 接口中的索引器 213
9.4 习题 216
第10章 运算符重载 218
10.1 运算符重载的语法 218
10.2 重载关系运算符 221
10.3 重载true、false运算符 224
10.4 定义转换运算符 226
10.5 有关复合赋值运算的说明 229
10.6 习题 230
第11章 委托与事件 232
11.1 委托 232
11.1.1 定义和使用委托 232
11.1.2 传递委托 235
11.1.3 组合委托 237
11.1.4 匿名方法 239
11.2 事件 241
11.2.1 使用事件 241
11.2.2 创建符合.NET准则的事件 243
11.3 图形用户界面编程 246
11.4 习题 248
第12章 字符与字符串 249
12.1 Char结构 249
12.1.1 字符比较 249
12.1.2 获取字符类别 250
12.1.3 字符转换 250
12.2 String类 252
12.2.1 字符串构造函数 252
12.2.2 字符串属性 253
12.2.3 字符串方法 254
12.3 格式字符串 264
12.4 字符串转换 267
12.4.1 方法Parse和ToString 267
12.4.2 Convert类 268
12.5 StringBuilder类 270
12.5.1 构造函数 270
12.5.2 属性 270
12.5.3 在可变字符串中追加和插入新内容 271
12.5.4 其他常用操作 271
12.6 习题 273
第13章 集合 275
13.1 集合简介 275
13.2 常用集合类 276
13.2.1 ArrayList类 276
13.2.2 Stack类 279
13.2.3 Queue类 281
13.2.4 Hashtable类 283
13.3 枚举集合 285
13.4 习题 285
第14章 泛型 287
14.1 泛型简介 287
14.2 泛型类和接口 288
14.2.1 定义泛型类和接口 288
14.2.2 类型参数约束 292
14.2.3 泛型和继承 296
14.3 泛型方法 298
14.4 泛型委托 301
14.5 泛型集合类 302
14.6 习题 303
第15章 文件和流 305
15.1 文件和流简介 305
15.2 驱动器、目录和文件 305
15.2.1 DriveInfo类 305
15.2.2 Directory和DirectoryInfo类 307
15.2.3 File和FileInfo类 310
15.3 文件I/O 313
15.3.1 Stream类 314
15.3.2 FileStream类 315
15.3.3 StreamReader和StreamWriter类 317
15.3.4 BinaryReader和BinaryWriter类 320
15.4 其他常用流 321
15.5 习题 323
参考文献 324