第1章 C#概述 1
1.1 .Net概述 1
1.1.1 .Net的技术体系 1
1.1.2 .Net的深远影响 2
1.1.3 .Net面临的竞争和挑战 3
1.1.4 .Net和C# 3
1.2 C#简介 4
1.2.1 简单 4
1.2.2 现代 5
1.2.3 面向对象 5
1.2.4 类型安全 6
1.2.5 版本控制 6
1.2.6 兼容 6
1.3.1 不同语言实现的“Hello World!”程序 7
1.3 C++和C# 7
1.2.7 灵活 7
1.3.2 C++和C#的相似之处 9
1.3.3 C++和C#的不同之处 9
1.4 改进的“Hello World!”程序 10
1.4.1 “Hello World!”程序的开发步骤 10
1.4.2 “Hello World!”程序剖析 12
1.5 小结 14
第2章 数据类型及表达式 15
2.1 数据类型概述 15
2.1.1 数据类型的作用 15
2.1.2 C#中的数据类型 15
2.2 简单数据类型 17
2.2.1 简单数据类型的种类 17
2.2.2 简单数据类型和对应的结构体 17
2.2.3 默认的构造函数 19
2.3.1 int数据类型 20
2.3 整数类型 20
2.3.2 其他整数类型 24
2.4 浮点数数据类型 24
2.5 小数数据类型 27
2.6 布尔数据类型 30
2.7 字符数据类型 31
2.8 枚举 34
2.8.1 枚举的定义 34
2.8.2 枚举的实际应用 35
2.9 数组 36
2.9.1 数组的定义 36
2.9.2 数组类 38
2.9.3 数组及Array类的综合应用 41
2.10 字符串 44
2.10.1 字符串的静态成员 45
2.10.2 字符串的动态成员 45
2.11 结构体 47
2.12 表达式 50
2.12.1 运算符 51
2.12.2 数据类型转换 54
2.12.3 基本运算符及数据类型转换的实际应用 55
2.13 复杂数据结构的C#实现 56
2.13.1 堆栈的C#实现 56
2.13.2 链表的C#实现 59
2.14 小结 66
第3章 基本语句 67
3.1 语句概述 67
3.2 声明语句 68
3.2.1 变量 68
3.2.2 常量 69
3.3 选择语句 71
3.3.1 if语句 71
3.3.2 switch语句 74
3.4.1 for循环语句 77
3.4 循环语句 77
3.4.2 foreach循环语句 78
3.4.3 while循环语句 81
3.4.4 do-while循环语句 82
3.5 跳转语句 83
3.5.1 break语句 84
3.5.2 continue语句 85
3.5.3 return语句 85
3.5.4 goto语句与标志语句 86
3.6 预处理语句 89
3.6.1 预声明语句 89
3.6.2 预处理条件语句 91
3.6.3 预处理错误和警告语句 93
3.7 其他语句 94
3.7.1 checked/unchecked语句 94
3.7.2 锁定语句 96
3.7.3 using语句 99
3.8 基本输入输出 100
3.8.1 Console的输入输出方法 100
3.8.2 命令行输入 101
3.9 文件 107
3.9.1 文件的创建、打开和关闭 108
3.9.2 文件读写 109
3.9.3 文件访问权限 112
3.10 小结 116
第4章 类 117
4.1 面向对象程序设计的基本思想 117
4.1.1 程序设计方法学的演进 117
4.1.2 面向对象程序设计的基本概念 119
4.2 类的定义 123
4.2.1 类定义的基本格式 123
4.2.2 属性类 125
4.2.3 modifiers 125
4.2.4 继承 127
4.2.5 类的成员 128
4.3 构造函数和析构函数 128
4.3.1 构造函数 128
4.3.2 析构函数 132
4.3.3 对象数组 135
4.4 类的常量成员和字段 136
4.4.1 常量成员 136
4.4.2 字段 137
4.5 方法 138
4.5.1 定义方法的基本格式 138
4.5.2 参数列表 138
4.6 属性 143
4.7 事件 145
4.8 索引 149
4.9 操作符 152
4.10 属性类及其应用 155
4.11 小结 158
第5章 继承与多态 159
5.1 继承 159
5.1.1 基类和派生类 159
5.1.2 访问控制 160
5.1.3 Object类 162
5.1.4 成员覆盖 164
5.2 接口 166
5.2.1 接口的定义 166
5.2.2 多重接口的继承和实现 169
5.3 多态性和虚拟函数 171
5.3.1 多态性 171
5.3.2 抽象类 175
5.4 小结 177
第6章 线程 178
6.1 线程与进程 178
6.2 C#中的线程类 179
6.2.1 Thread类的主要属性 180
6.2.2 Thread类的主要方法 181
6.3 线程优先级 185
6.4 线程同步 186
6.4.1 Windows操作系统提供的线程同步机制 186
6.4.2 利用Monitor类实现线程同步 187
6.4.3 利用Mutex类实现线程同步 194
6.4.4 死锁 197
6.5 小结 198
第7章 例外处理 199
7.1 校验语句 199
7.2 异常处理语句 199
7.2.1 使用try和catch捕获异常 200
7.2.2 使用try和finally清除异常 203
7.2.3 使用try-catch-finally处理所有异常 206
7.3.1 引发异常的基本操作 207
7.3 引发异常 207
7.3.2 重新引发异常 209
7.4 异常类 211
7.4.1 Exception类 211
7.4.2 其他预定义异常类 214
7.4.3 自定义异常类 215
7.5 小结 217
8.1.1 新建项目 218
8.1 开发桌面应用程序的基本步骤 218
第8章 桌面应用程序的开发 218
8.1.2 界面设计 219
8.1.3 组件属性设置 219
8.1.4 程序设计 220
8.2 表单 221
8.2.1 表单的基本属性 221
8.2.2 表单的基本方法 227
8.2.3 表单响应的主要事件 232
8.2.4 表单的简单应用 233
8.3 多表单应用程序 236
8.3.1 多表单应用程序的构建 236
8.3.2 简单的多表单应用程序 237
8.4 应用程序类 239
8.4.1 Application类的主要属性 239
8.4.2 Application类的主要方法 241
8.5 小结 247
第9章 界面设计 248
9.1 标签 248
9.1.1 标签组件的主要属性 248
9.1.2 LinkLabel组件 249
9.2 按钮 250
9.3 文本框 250
9.3.1 文本框的主要属性 250
9.3.2 文本框的主要方法 254
9.4.1 复选框 256
9.4 复选框和单选按钮 256
9.4.2 单选按钮 258
9.5 滚动条 260
9.6 列表视图和树状视图 261
9.6.1 列表视图 262
9.6.2 树状视图 263
9.7 进度条和跟踪条 264
9.8 日历和时钟 265
9.8.1 日历组件 266
9.8.2 时钟组件 267
9.9 菜单设计 269
9.9.1 菜单编辑 269
9.9.2 MenuItem类 270
9.9.3 MainMenu类 276
9.10 对话框 277
9.10.1 “打开”对话框 277
9.10.2 “另存为”对话框 280
9.10.3 “字体”对话框 281
9.10.4 “颜色”对话框 283
9.10.5 “打印”对话框 284
9.10.6 “打印预览”对话框 286
9.10.7 对话框的综合应用 288
9.11 小结 296
第10章 网络应用程序设计 297
10.1 网络基础知识 297
10.1.1 网络技术的发展历程 297
10.1.2 网络协议 297
10.1.3 TCP/IP协议族 300
10.1.4 IP地址和域名 304
10.2 套接字 305
10.2.1 Winsock和OSI模型 306
10.2.2 Winsock 2的兼容性 307
10.2.3 Socket类 308
10.2.4 基于套接字的数据传输 315
10.3 域名服务 320
10.3.1 域名服务的基本原理 320
10.3.2 DNS类 322
10.3.3 扫描正在运行的计算机 324
10.4 Ping应用程序 328
10.4.1 Ping应用程序的基本原理 328
10.4.2 Ping应用程序分析 329
10.4.3 执行结果 339
10.5 小结 340
第11章 数据库访问 341
11.1 数据库结构概述 341
11.1.1 ODBC数据库访问接口 341
11.1.2 ADO技术体系 342
11.1.3 ADO.NET对ADO的发展 343
11.2 建立和数据源的连接 345
11.2.1 通过SQLConnection建立和数据提供者之间的连接 345
11.2.2 通过ADOConnection建立和数据提供者之间的连接 346
11.3 SQL语句 347
11.3.1 通过SQLCommand类执行SQL命令 347
11.3.2 通过ADOCommand类执行SQL命令 348
11.4 读取数据 348
11.5 存储过程 350
11.6 数据集命令 352
11.6.1 静态SQL命令 352
11.6.2 动态SQL命令 353
11.7 数据集 355
11.7.1 数据集的使用 355
11.7.2 加入数据表到数据集中 355
11.7.3 加入关系 356
11.7.4 加入约束 356
11.7.5 数据集的事件 357
11.7.6 ADO.NET的简单应用 358
11.8 数据表 360
11.8.1 创建数据表 361
11.8.2 向数据表中加入列 362
11.8.3 创建包含表达式的列 363
11.8.4 自动增加数值的列 363
11.8.5 加入主码 364
11.8.6 数据表的事件 364
11.9 数据表中的数据管理 365
11.9.1 向数据表中加入数据 365
11.9.2 过滤数据 366
11.9.3 错误处理 367
11.9.4 接受和拒绝数据改变 368
11.9.5 数据管理示例程序 368
11.10 表和列的映射 375
11.10.1 创建映射 375
11.10.2 动态改变映射关系 377
11.11 数据视图 377
11.12 小结 382