第1课 C#基础入门 2
1.1 C#语言 2
1.1.1 C#的概念 2
1.1.2 C#的发展历史 2
1.1.3 C#与其他语言的比较 2
1.1.4 C#的特点 3
1.1.5 C# 4.0新特性 3
1.2 .NET Framework简介 4
1.2.1 .NET Framework与C#的关系 4
1.2.2 .NET Framework 4.0概述 5
1.2.3 公共语言运行时 5
1.2.4 .NET Framework类库 7
1.3 程序集 8
1.3.1 程序集概述 8
1.3.2 程序集优点 9
1.3.3 程序集内容 9
1.3.4 程序集清单 10
1.3.5 全局程序集缓存 11
1.3.6 程序集安全注意事项 11
1.3.7 程序集版本控制 12
1.4 配置.NET Framework环境 12
1.4.1 Visual Studio与.NET Framework的关系 13
1.4.2 安装Visual Studio 2010 13
1.4.3 Visual Studio 2010的其他操作 15
1.5 实例应用:使用VS 2010创建控制台应用程序 16
1.5.1 实例目标 16
1.5.2 技术分析 16
1.5.3 具体步骤 16
1.6 实例应用:使用VS 2010创建窗体应用程序 19
1.6.1 实例目标 19
1.6.2 技术分析 19
1.6.3 具体步骤 20
1.7 拓展训练 22
1.8 课后练习 22
第2课 C#基础语法入门 26
2.1 变量 26
2.1.1 变量概述 26
2.1.2 声明和初始化变量 26
2.1.3 变量的分类 27
2.1.4 变量的命名规则 27
2.1.5 变量的作用域和生命周期 28
2.2 常量 28
2.2.1 常量概述 28
2.2.2 声明和初始化常量 29
2.2.3 const的注意事项 29
2.3 数据类型 29
2.3.1 数据类型分类 29
2.3.2 值类型 30
2.3.3 引用类型 32
2.3.4 比较值类型与引用类型 34
2.4 运算符与表达式 35
2.4.1 运算符的分类 35
2.4.2 算术运算符与算术表达式 35
2.4.3 比较运算符与比较表达式 36
2.4.4 逻辑运算符与逻辑表达式 36
2.4.5 赋值运算符与赋值表达式 37
2.4.6 条件运算符与条件表达式 38
2.4.7 其他特殊运算符 39
2.4.8 运算符的优先级别 39
2.5 数据类型转换 40
2.5.1 隐式类型转换 40
2.5.2 显式类型转换 40
2.5.3 字符串类型的转换 41
2.6 装箱和拆箱 42
2.6.1 装箱 42
2.6.2 拆箱 43
2.7 C#的标准注释 43
2.8 实例应用:圆的相关计算 45
2.8.1 实例目标 45
2.8.2 技术分析 45
2.8.3 实现步骤 45
2.9 拓展训练 47
2.10 课后练习 47
第3课 控制语句 50
3.1 语句概述 50
3.1.1 语句分类 50
3.1.2 基本语句 50
3.1.3 语句块 51
3.2 选择语句 51
3.2.1 if语句 51
3.2.2 if else语句 52
3.2.3 if else if语句 53
3.2.4 switch语句 55
3.3 循环语句 57
3.3.1 for语句 57
3.3.2 do while语句 59
3.3.3 while语句 60
3.3.4 foreach in语句 61
3.4 嵌套语句 62
3.4.1 选择语句嵌套 62
3.4.2 循环语句嵌套 63
3.4.3 混合语句嵌套 63
3.5 跳转语句 65
3.5.1 break语句 65
3.5.2 continue语句 65
3.5.3 return语句 66
3.5.4 goto语句 67
3.6 异常处理语句 68
3.6.1 Throw 69
3.6.2 try catch 69
3.6.3 try catch finally 72
3.7 实例应用:输出等腰梯形 73
3.7.1 实例目标 73
3.7.2 技术分析 74
3.7.3 实现步骤 74
3.8 拓展训练 75
3.9 课后练习 75
第4课 数组 80
4.1 数组概述 80
4.2 一维数组 80
4.2.1 一维数组简介 80
4.2.2 数组遍历 81
4.2.3 数组排序 82
4.2.4 插入数组元素 84
4.2.5 删除数组元素 86
4.3 二维数组 87
4.3.1 二维数组简介 88
4.3.2 二维数组遍历 88
4.4 多维数组 89
4.5 交错数组 90
4.6 静态数组 91
4.6.1 属性和方法 91
4.6.2 静态数组应用 92
4.7 动态数组 93
4.7.1 属性和方法 93
4.7.2 动态数组应用 95
4.8 实例应用:求矩阵外环和 97
4.8.1 实例目标 97
4.8.2 技术分析 97
4.8.3 实现步骤 97
4.9 拓展训练 98
4.10 课后练习 99
第5课 类 104
5.1 类简介 104
5.1.1 类概述 104
5.1.2 类的成员 104
5.1.3 可访问性 105
5.2 类和对象 106
5.2.1 对象 106
5.2.2 静态类和类成员 107
5.3 字段和属性 108
5.3.1 字段 108
5.3.2 属性 110
5.4 方法 112
5.4.1 参数 113
5.4.2 返回值 115
5.5 构造函数 116
5.6 析构函数 118
5.7 实例应用:创建数据统计类 118
5 7.1 实例目标 118
5.7.2 技术分析 119
5.7.3 实现步骤 119
5.8 拓展训练 121
5.9 课后练习 121
第6课 类的高级应用 126
6.1 封装 126
6.1.1 封装概述 126
6.1.2 密封类 127
6.2 继承 128
6.2.1 继承简述 128
6.2.2 虚方法 130
6.2.3 抽象类及类成员 131
6.3 多态 133
6.3.1 重载 133
6.3.2 重写 134
6.3.3 实现虚函数与抽象类 136
6.4 实例应用:实现简单数学运算 138
6.4.1 实例目标 138
6.4.2 技术分析 138
6.4.3 实现步骤 138
6.5 拓展训练 140
6.6 课后练习 141
第7课 枚举、结构和接口 146
7.1 枚举 146
7.1.1 枚举简介 146
7.1.2 声明枚举 146
7.1.3 使用枚举 148
7.1.4 转换枚举类型 149
7.1.5 使用Enum类型 149
7.2 结构 151
7.2.1 结构简介 151
7.2.2 声明结构 151
7.2.3 使用结构 152
7.3 接口 154
7.3.1 接口简介 154
7.3.2 声明接口 155
7.3.3 定义接口成员 156
7.3.4 实现接口 157
7.3.5 IComparable接口 160
7.3.6 IComparer接口 162
7.4 实例应用:模拟数据库系统 163
7.4.1 实例目标 163
7.4.2 技术分析 163
7.4.3 实现步骤 163
7.5 拓展训练 167
7.6 课后练习 168
第8课 C#内置类编程 172
8.1 String类字符串 172
8.1.1 创建字符串 172
8.1.2 转换大小写 173
8.1.3 去除空格和特定字符 174
8.1.4 连接字符串 174
8.1.5 替换字符 176
8.1.6 比较字符串 177
8.1.7 查找字符串 179
8.1.8 分隔字符串 180
8.1.9 截取子字符串 181
8.1.10 移除字符串 182
8.2 StringBuilder类字符串 183
8.2.1 创建字符串 183
8.2.2 插入字符串 184
8.2.3 追加字符串 185
8.2.4 移除字符串 188
8.2.5 替换字符串 188
8.2.6 StringBuilder类的其他常用成员 189
8.3 时间和日期处理 190
8.3.1 TimeSpan结构 190
8.3.2 DateTime结构 193
8.3.3 格式化 198
8.3.4 追加时间 198
8.3.5 计算时间差 199
8.4 正则表达式 199
8.4.1 基本语法 200
8.4.2 Regex类的使用 201
8.5 线程 205
8.5.1 线程简介 205
8.5.2 Thread类 205
8.6 实例应用:文本分析功能 207
8.6.1 实例目标 207
8.6.2 技术分析 208
8.6.3 实现步骤 208
8.7 拓展训练 212
8.8 课后练习 213
第9课 集合 218
9.1 集合类 218
9.1.1 C#内置集合概述 218
9.1.2 常见的几种集合 218
9.2 Array List集合类 219
9.3 Stack集合类 220
9.4 Queue集合类 222
9.5 BitArray集合类 224
9.6 SortedList集合类 228
9.7 Hashtable集合类 231
9.8 泛型 234
9.8.1 泛型类 234
9.8.2 泛型万法 236
9.8.3 泛型参数 238
9.8.4 类型参数的约束 239
9.9 自定义集合类 242
9.10 实例应用:实现瓜果市场信息管理 244
9.10.1 实例目标 244
9.10.2 技术分析 245
9.10.3 实现步骤 245
9.11 拓展训练 249
9.12 课后练习 249
第10课 Windows窗体控件 254
10.1 Windows窗体概述 254
10.1.1 窗体概述 254
10.1.2 窗体控件的公有属性 256
10.1.3 窗体控件的公有事件 257
10.2 基本类型控件 258
10.2.1 Label控件 258
10.2.2 LinkLabel控件 259
10.2.3 TextBox控件 260
10.2.4 RichTextBox控件 261
10.2.5 MaskedTextBox控件 263
10.2.6 Button控件 265
10.3 选择类型控件 266
10.3.1 RadioButton控件 266
10.3.2 CheckBox控件 268
10.4 图像显示类型控件 269
10.4.1 ImageList控件 269
10.4.2 PitureBox控件 270
10.5 列表类型控件 272
10.5.1 ComboBox控件 272
10.5.2 ListView控件 275
10.5.3 ListBox控件 278
10.5.4 CheckedListBox控件 279
10.6 容器类型控件 281
10.6.1 TabControl控件 281
10.6.2 GoupBox控件 283
10.6.3 Panel控件 284
10.7 其他常用类型控件 284
10.7.1 DateTimePicker控件 284
10.7.2 Timer组件 285
10.7.3 Notifylcon组件 286
10.8 实例应用:修改论坛用户个人资料 287
10.8.1 实例目标 287
10.8.2 技术分析 287
10.8.3 实现步骤 287
10.9 拓展训练 290
10.10 课后练习 291
第11课 Windows控件的高级应用 294
11.1 MDI应用程序 294
11.1.1 MDI概述 294
11.1.2 创建MDI父窗体 295
11.1.3 创建MDI子窗体 296
11.1.4 排列MDI子窗体 297
11.1.5 模式窗体和无模式窗体 298
11.2 高级控件 299
11.2.1 MenuStrip控件 299
11.2.2 ContextMenuStrip控件 301
11.2.3 ToolStrip控件 303
11.2.4 StatusStrip控件 304
11.3 常用对话框 306
11.3.1 消息对话框 306
11.3.2 字体对话框 308
11.3.3 颜色对话框 309
11.3.4 浏览目录对话框 310
11.3.5 打开文件对话框 311
11.3.6 保存文件对话框 312
11.4 实例应用:创建某计算机培训机构的MDI应用程序 314
11.4.1 实例目标 314
11.4.2 技术分析 314
11.4.3 实现步骤 314
11.5 拓展训练 320
11.6 课后练习 321
第12课 文件和目录处理 324
12.1 认识流 324
12.1.1 System.IO命名空间 324
12.1.2 流抽象类 324
12.1.3 内存流 325
12.1.4 文件流 327
12.2 获取文件系统信息 330
12.2.1 文件信息FileInfo类 330
12.2.2 目录信息DirectoryInfo类 332
12.2.3 驱动器信息DriveInfo类 333
12.3 操作目录 335
12.3.1 创建目录 335
12.3.2 移动和重命命名目录 336
12.3.3 删除目录 336
12.3.4 遍历目录 337
12.4 操作文件 339
12.4.1 创建文件 339
12.4.2 移动和重命名文件 340
12.4.3 复制文件 341
12.4.4 删除文件 341
12.5 读取和写入文件 341
12.5.1 读取文件 342
12.5.2 写入文件 343
12.6 读写二进制文件 345
12.7 实例应用:磁盘文件扫描系统 346
12.7.1 实例目标 346
12.7.2 技术分析 347
12.7.3 实现步骤 347
12.8 拓展训练 353
12.9 课后练习 354
第13课 数据库访问技术——ADO.NET 358
13.1 ADO.NET概述 358
13.1.1 ADO.NET概述 358
13.1.2 ADO.NET结构 358
13.1.3 NET Framework数据提供程序 359
13.2 SqlConnection对象 359
13.2.1 SqlConnection对象的常用属性和方法 360
13.2.2 SqlConnection对象的使用 360
13.3 SqlCommand对象 362
13.3.1 SqlCommand对象的属性和方法 362
13.3.2 SqlCommand对象的使用 362
13.4 SqlDataReader对象 364
13.4.1 SqlDataReader对象的属性和方法 364
13.4.2 SqlDataReader对象的使用 364
13.5 数据集相关对象:DataSet和SqlDataAdapter 366
13.5.1 DataSet对象 366
13.5.2 SqlDataAdapter对象 368
13.5.3 DataTable对象 369
13.5.4 DataView对象 370
13.5.5 SqlDataAdapter对象填充DataSet对象 370
13.5.6 SqlDataReader对象与DataSet对象的区别 372
13.6 网格视图控件:DataGridView控件 372
13.6.1 DataGridView控件的常用属性和事件 372
13.6.2 在设计器中的操作DataGridView控件 373
13.6.3 DataGridView控件的使用 374
13.7 树形菜单控件:TreeView 377
13.7.1 TreeView控件的常用属性和事件 377
13.7.2 TreeView的使用 378
13.8 实例应用:显示论坛数据列表 381
13.8.1 实例目标 381
13.8.2 技术分析 381
13.8.3 实现步骤 381
13.9 拓展训练 386
13.10 课后练习 387
第14课 使用GDI+进行绘图 390
14.1 图形绘制概述 390
14.1.1 GDI和GDI+ 390
14.1.2 画布Graphics对象 391
14.1.3 画笔Pen对象 393
14.1.4 画刷Brush对象 394
14.1.5 字体Font对象 400
14.1.6 颜色Color结构 401
14.1.7 与绘图相关的坐标结构 402
14.2 绘制基本图形 403
14.2.1 绘制直线 403
14.2.2 绘制矩形 404
14.2.3 绘制椭圆 405
14.2.4 绘制扇形 406
14.2.5 绘制圆弧 407
14.2.6 绘制多边形 408
14.3 绘制文本 409
14.4 图像操作 411
11.4.1 绘制图像 411
11.4.2 剪切和缩放图像 411
11.4.3 旋转、反射和扭曲图像 413
14.5 实例应用:GDI+绘制柱形分析图 414
14.5.1 实例目标 414
14.5.2 技术分析 414
14.5.3 实现步骤 414
14.6 拓展训练 416
14.7 课后练习 416
第15课 仓库管理系统 420
15.1 系统概述 420
15.1.1 需求分析 420
15.1.2 功能分析 420
15.2 数据库设计 421
15.3 准备工作 423
15.3.1 搭建项目 423
15.3.2 添加引用 424
15.3.3 程序入口 425
15.3.4 公共模块 425
15.3.5 主界面 428
15.4 登录模块 431
15.5 设备管理 432
15.5.1 维护设备信息 432
15.5.2 查询设备 434
15.6 库存操作 436
15.6.1 设备入库 436
15.6.2 设备出库 440
15.6.3 设备归还 442
15.6.4 查询库存 443
15.7 采购计划 444