第1章 C#简介 1
1.1 什么是.NET Framework 1
1.2 什么是C# 2
1.2.1 C#概述 2
1.2.2 C#的主要功能 3
1.2.3 C#的主要特点 3
1.3 Visual Studio 2008简介 5
1.3.1 环境要求 5
1.3.2 安装步骤 5
1.3.3 Visual Studio 2008新功能介绍 7
1.4 如何学习C#语言 9
1.5 小结 10
练习1 10
第2章 编写简单的C#程序 12
2.1 Visual Studio 2008开发环境 12
2.1.1 Visual Studio 2008常用功能窗口介绍 12
2.1.2 配置设置 18
2.1.3 类设计器 21
2.1.4 帮助系统 22
2.2 编写控制台Hello Word程序 26
2.3 创建Windows Forms应用程序 28
2.4 小结 31
练习2 32
第3章 变量和表达式 34
3.1 C#的基本语法 34
3.1.1 C#程序结构 34
3.1.2 C#程序入口 36
3.1.3 程序区块 37
3.1.4 C#程序的注释方法 38
3.1.5 命名空间 39
3.2 变量 41
3.2.1 变量的命名 41
3.2.2 数据类型 42
3.2.3 变量的声明 44
3.3 常量 45
3.4 表达式 47
3.4.1 操作符 47
3.4.2 算术表达式 48
3.4.3 赋值表达式 50
3.5 小结 51
练习3 51
第4章 基本程序流程控制 54
4.1 布尔逻辑 54
4.1.1 位运算符 54
4.1.2 关系运算 56
4.1.3 逻辑表达式 57
4.2 分支 58
4.2.1 if语句 58
4.2.2 三元运算符 62
4.2.3 switch语句 63
4.2.4 break语句 65
4.2.5 default语句 67
4.3 goto语句 68
4.4 小结 68
练习4 70
第5章 循环控制 73
5.1 程序中的循环结构 73
5.2 位运算符 74
5.2.1 while循环语句的语法格式 74
5.2.2 while循环语句的应用 74
5.3 do循环 76
5.3.1 do循环语句的语法格式 76
5.3.2 do循环语句的应用 76
5.4 for循环 78
5.4.1 for循环语句的语法格式 78
5.4.2 for循环语句的应用 78
5.5 循环的嵌套 81
5.6 循环的中断 84
5.6.1 break语句 84
5.6.2 continue语句 85
5.6.3 goto语句 86
5.7 小结 87
练习5 87
第6章 复杂的变量 91
6.1 类型转换 91
6.2 复杂的变量类型 94
6.2.1 枚举 94
6.2.2 结构 96
6.2.3 数组 98
6.3 字符串的处理 101
6.3.1 创建字符串 101
6.3.2 操作字符串 101
6.4 小结 103
练习6 104
第7章 函数 106
7.1 定义和使用函数 106
7.1.1 返回值 107
7.1.2 参数 108
7.2 变量的作用域 112
7.3 Main()函数 116
7.4 委托简介 116
7.5 小结 118
练习7 118
第8章 面向对象程序设计 121
8.1 什么是面向对象编程 121
8.2 类和对象 122
8.3 对象之间的关系 123
8.4 继承 123
8.5 多态性 126
8.6 接口 128
8.7 事件 129
8.8 引用类型和值类型 130
8.9 小结 132
练习8 134
第9章 类和对象 136
9.1 C#中类的定义和使用 136
9.2 类成员 138
9.3 构造函数和析构函数 141
9.3.1 构造函数 142
9.3.2 析构函数 143
9.3.3 this访问 144
9.4 静态成员和实例成员 145
9.5 常数和字段 146
9.6 System.Object类 148
9.6.1 装箱 148
9.6.2 拆箱 149
9.7 小结 149
练习9 150
第10章 方法 152
10.1 方法的定义与调用 152
10.1.1 方法的定义 152
10.1.2 方法的调用 154
10.1.3 方法的返回类型 156
10.2 虚拟方法 157
10.3 重写方法 158
10.4 参数 160
10.5 方法重载 163
10.6 小结 165
练习10 166
第11章 属性 168
11.1 属性的定义 168
11.2 属性的使用 169
11.3 索引器 175
11.4 小结 177
练习11 178
第12章 委托和事件 180
12.1 委托 180
12.1.1 C#“Hello World!”委托版 181
12.1.2 委托的特点 182
12.1.3 C#“Hello World!”委托扩展版之给方法签名 183
12.1.4 C#“Hello World!”委托扩展版之自定义方法 184
12.2 多路广播 185
12.2.1 多路广播委托的组合 185
12.2.2 C#“Hello World!”委托扩展版之多路广播 186
12.3 委托的使用 188
12.3.1 委托中的命名方法 188
12.3.2 命名方法简单示例 189
12.4 委托的相等性 190
12.5 委托综合示例 190
12.6 事件 193
12.6.1 事件概述 193
12.6.2 事件的声明 194
12.6.3 简单事件声明示例 195
12.6.4 如何引发事件 196
12.6.5 如何订阅事件 196
12.6.6 是否所有委托都可以应用到事件中 197
12.7 EventHandler 198
12.7.1 如何声明事件访问器 198
12.7.2 创建响应事件的控件 199
12.7.3 创建响应事件的控件 199
12.8 GUI事件 201
12.8.1 鼠标单击事件 201
12.8.2 KeyPress事件 203
12.8.3 鼠标按下、释放和拖动事件 205
12.9 小结 206
练习12 206
第13章 接口和异常处理 210
13.1 接口 210
13.1.1 接口和类的区别 211
13.1.2 接口和类的选择使用 211
13.1.3 定义接口 211
13.1.4 接口成员 213
13.1.5 接口成员的全权名 216
13.2 接口的实现 216
13.3 接口的查询 218
13.3.1 使用is运算符实现查询 218
13.3.2 使用as运算符实现查询 219
13.4 异常处理 220
13.5 小结 223
练习13 223
第14章 Windows编程基础 226
14.1 控件 226
14.1.1 控件的通用属性 226
14.1.2 窗体 227
14.1.3 控件的创建 232
14.1.4 控件的事件 232
14.2 Button控件 233
14.3 Label和LinkLabel控件 234
14.4 TextBox控件 236
14.5 RichTextBox控件 237
14.6 RadioButton和CheckBox控件 238
14.7 ListBox和ComboBox控件 240
14.8 ListView控件 243
14.9 小结 247
练习14 248
第15章 Windows表单的高级功能 251
15.1 菜单栏 251
15.1.1 菜单控件的使用 252
15.1.2 什么是快捷菜单 253
15.1.3 快捷菜单的创建 253
15.2 工具栏 255
15.2.1 工具栏的创建 255
15.3 状态栏 257
15.3.1 状态栏控件的使用 257
15.4 常用控件 258
15.4.1 滚动条控件 258
15.4.2 进程条控件 259
15.4.3 跟踪条控件 261
15.4.4 计时器控件 262
15.4.5 模拟跑表计时器 262
15.5 单文档和多文档应用程序 264
15.5.1 基于对话框的应用程序 264
15.5.2 单文档应用程序 265
15.5.3 多文档应用程序 265
15.5.4 多文档应用程序示例 266
15.5.5 MDI文档编辑器示例 268
15.6 小结 269
练习15 270
第16章 通用对话框 273
16.1 消息框 273
16.1.1 MessageBox显示信息 274
16.1.2 MessageBox接受用户输入 275
16.2 对话框的使用 276
16.3 文件对话框 277
16.3.1 打开文件对话框 277
16.3.2 保存文件对话框 279
16.4 打印 280
16.5 打印预览 282
16.6 字体对话框和颜色对话框 284
16.6.1 字体对话框 284
16.6.2 颜色对话框 285
16.7 浏览文件夹对话框 285
16.8 小结 286
练习16 286
第17章 容器类控件 288
17.1 面板控件 288
17.2 分组控件 290
17.3 分页控件 292
17.4 小结 296
练习17 296
第18章 输入/输出类 298
18.1 Stream类 298
18.2 File类和FileInfo类 299
18.3 StreamReader类和StreamWriter类 302
18.4 BinaryReader类和BinartWriter类 306
18.5 小结 310
练习18 311
第19章 数据库应用程序 313
19.1 ADO.NET 313
19.2 DataSet的概念及作用 315
19.2.1 DataSet和DataReader的区别 317
19.2.2 DataTable 318
19.2.3 BindingSource 320
19.2.4 BindingNavigator 322
19.2.5 使用BindingNavigator完成数据导航功能 323
19.3 数据访问的基本步骤 324
19.3.1 简单数据访问示例 327
19.3.2 DataGridView控件 329
19.3.3 利用DataGridView控件实现单元格合并 331
19.4 小结 334
练习19 335
参考文献 339