第1章 C#概述 1
1.1 C#基本概念 1
1.1.1 什么是C# 1
1.1.2 .NET Framework 3
1.2 C#程序开发环境 6
1.2.1 安装C#开发环境 6
1.2.2 Visual Studio的集成开发环境 9
1.2.3 C#的控制台应用程序 13
本章小结 16
习题一 17
第2章 C#程序设计基础 19
2.1 数据类型 19
2.1.1 值类型 19
2.1.2 引用类型 24
2.1.3 数据类型转换 25
2.2 变量和常量 27
2.2.1 变量 27
2.2.2 常量 29
2.3 操作符和表达式 29
2.3.1 操作符 29
2.3.2 算术操作符 30
2.3.3 赋值操作符 31
2.3.4 关系操作符 32
2.3.5 逻辑操作符 32
2.3.6 位运算符 32
本章小结 35
习题二 35
第3章 结构化程序设计 38
3.1 选择语句 38
3.1.1 if语句 38
3.1.2 switch语句 41
3.2 循环语句 44
3.2.1 while语句 44
3.2.2 do...while语句 46
3.2.3 for语句 48
3.2.4 foreach语句 51
3.3 跳转语句 52
3.3.1 break语句 52
3.3.2 continue语句 54
3.3.3 goto语句 55
3.3.4 return语句 57
本章小结 58
习题三 58
第4章 数组与字符串 63
4.1 函数 63
4.1.1 函数的基本概念 63
4.1.2 函数的返回值 65
4.1.3 函数的参数 66
4.2 数组 70
4.2.1 一维数组 70
4.2.2 数组的基本操作 72
4.2.3 多维数组 76
4.2.4 交错数组 78
4.2.5 将数组作为参数传递 79
4.2.6 params关键字的应用 81
4.3 字符串 83
4.3.1 字符串类型定义 83
4.3.2 字符串的基本操作 84
本章小结 90
习题四 90
第5章 类和对象 94
5.1 面向对象的基本概念 94
5.2 类的声明和对象的创建 95
5.2.1 类的定义 96
5.2.2 类的成员 97
5.2.3 对象的声明 99
5.3 成员函数 100
5.3.1 构造函数 100
5.3.2 析构函数 104
5.4 属性 105
5.5 方法与重载 108
5.5.1 方法的定义 108
5.5.2 静态和非静态的方法 110
5.5.3 方法重载 110
5.6 索引函数 114
5.7 this关键字 117
5.8 运算符重载 119
本章小结 120
习题五 121
第6章 继承与多态 127
6.1 继承 127
6.1.1 基类和派生类 127
6.1.2 派生类的继承 130
6.1.3 抽象类和抽象方法 133
6.2 多态性 136
6.2.1 虚拟方法和重载方法 136
6.2.2 密封类和密封方法 139
6.3 值类型和引用类型 141
6.3.1 System.Object对象 141
6.3.2 内存的组织 145
6.3.3 装箱与拆箱 147
本章小结 150
习题六 150
第7章 集合与泛型 155
7.1 预定义的集合 155
7.1.1 数组列表 155
7.1.2 BitArray集合 159
7.1.3 HashTable集合 162
7.1.4 Queue集合 165
7.1.5 Stack集合 166
7.1.6 SortedList集合 168
7.2 泛型 171
7.2.1 泛型概述 171
7.2.2 泛型类的成员 173
7.2.3 泛型类中的方法 176
7.2.4 泛型约束 178
7.3 泛型集合 181
7.3.1 泛型集合的建立 181
7.3.2 泛型集合的排序与搜索 182
本章小结 187
习题七 187
第8章 委托与事件 192
8.1 委托 192
8.1.1 声明委托 192
8.1.2 实例化委托 194
8.1.3 多重委托 196
8.1.4 委托调用 197
8.2 事件 199
8.2.1 事件的基本概念 199
8.2.2 事件定义与触发 200
本章小结 204
习题八 204
第9章 接口 210
9.1 接口的基本概念 210
9.1.1 定义接口 210
9.1.2 定义接口成员 213
9.1.3 接口成员的访问 217
9.2 接口的实现 219
9.2.1 类对接口的实现 219
9.2.2 接口的继承 220
本章小结 222
习题九 222
第10章 异常处理 225
10.1 错误与异常 225
10.1.1 程序错误 225
10.1.2 异常 227
10.1.3 抛出异常 230
10.2 异常类 231
10.2.1 Exception类 231
10.2.2 自定义异常 233
10.2.3 Checked和unchecked语句 235
10.3 正则表达式 237
10.3.1 正则表达式的基本概念 237
10.3.2 正则表达式类 241
本章小结 247
习题十 248
第11章 文件操作 253
11.1 文件操作概述 253
11.1.1 文件系统的基本概念 253
11.1.2 用于输入和输出的类 254
11.2 文件存取 256
11.2.1 文本文件的存取 256
11.2.2 二进制文件的存取 260
11.2.3 对文件的加密和解密 261
11.3 文件管理 264
11.3.1 目录管理 265
11.3.2 文件管理 269
11.3.3 路径管理 277
本章小结 279
习题十一 279
第12章 线程 282
12.1 多线程的概念 282
12.1.1 多线程的概念 282
12.1.2 C#中的线程实现方法 284
12.2 多线程的程序设计 284
12.2.1 创建线程 284
12.2.2 线程的并行性 287
12.2.3 多线程的优先级别 290
12.2.4 线程的后端与前端运行 291
12.2.5 线程的方法和状态 292
12.3 线程同步 294
12.3.1 线程同步的基本概念 294
12.3.2 锁定机制 295
12.3.3 通知 298
本章小结 301
习题十二 301
参考文献 303