第1篇 基础语法 2
第1章 C#入门基础(教学视频:40分钟) 2
1.1 C#概述 2
1.1.1 C#的发展 2
1.1.2 .NET框架 2
1.1.3 C#开发工具 3
1.2搭建Visual Studio 2010开发环境 3
1.2.1安装Microsoft Visual Studio 2010 3
1.2.2配置集成开发环境(IDE) 6
1.2.3熟悉集成开发环境 6
1.3创建第一个控制台应用程序 9
1.3.1创建Sample_1控制台应用程序 9
1.3.2解决方案资源管理器 9
1.3.3 Program.cs文件 9
1.3.4 Assemblylnfo.cs文件 10
1.3.5运行应用程序 10
1.4创建第一个Windows窗体应用程序 11
1.4.1创建Sample Windows窗体应用程序 12
1.4.2解决方案资源管理器 12
1.4.3相关文件简介 12
1.4.4运行应用程序 13
1.5小结 14
1.6习题 14
第2章 C#基本概念(教学视频:18分钟) 16
2.1创建Hello World应用程序 16
2.1.1创建hello.txt文本文件 16
2.1.2创建HelloWorld类 16
2.1.3添加Print()方法 17
2.1.4添加Main()方法 17
2.1.5调用Print()方法 17
2.1.6引入System命名空间 18
2.1.7整理Hello World应用程序的代码 18
2.2编译和运行Hello World应用程序 19
2.3 C#程序的概念扩展 19
2.4小结 20
2.5习题 20
第3章 类型(教学视频:47分钟) 22
3.1什么是类型 22
3.2值类型 23
3.2.1值类型的基础——System.V alueType类型 23
3.2.2整数类型 24
3.2.3浮点型 25
3.2.4 decimal类型 26
3.2.5 bool类型 26
3.2.6枚举类型 27
3.2.7结构类型 28
3.3引用类型 28
3.3.1类类型 28
3.3.2对象类型 28
3.3.3字符串类型 29
3.3.4数组类型 29
3.3.5接口类型 30
3.3.6委托类型 30
3.4装箱和拆箱 30
3.4.1装箱 31
3.4.2拆箱 31
3.5小结 31
3.6习题 32
第4章 变量(教学视频:45分钟) 34
4.1什么是变量 34
4.2变量的类型 35
4.2.1静态变量 35
4.2.2实例变量 36
4.2.3局部变量 37
4.2.4值参数 38
4.2.5引用参数 38
4.2.6输出参数 39
4.2.7数组元素 40
4.3对变量赋值 40
4.4变量转换 41
4.4.1隐式转换 41
4.4.2显式转换 41
4.5小结 42
4.6习题 42
第5章 表达式和运算符(教学视频:59分钟) 44
5.1运算的最小单位——表达式 44
5.1.1表达式分类 44
5.1.2 this关键字 44
5.1.3 new关键字 45
5.2运算的核心——运算符 46
5.2.1算术运算符 46
5.2.2自增、自减运算符 47
5.2.3逻辑运算符 49
5.2.4条件运算符 51
5.2.5条件逻辑运算符 52
5.2.6移位运算符 53
5.2.7关系运算符 54
5.2.8赋值运算符 55
5.2.9运算优先级 56
5.2.10类型转换 57
5.3小结 58
5.4习题 58
第6章 程序最小单位——语句(教学视频:70分钟) 61
6.1什么是语句 61
6.2基本语句 62
6.2.1没有功能的语句——空语句 62
6.2.2标记语句 62
6.2.3表达式语句 63
6.2.4声明语句 63
6.2.5块 63
6.3选择语句 64
6.3.1如果…就…——if语句 64
6.3.2当…就…——switch语句 66
6.4迭代语句 69
6.4.1 for语句 69
6.4.2 foreach语句 71
6.4.3 while语句 72
6.4.4 do语句 74
6.5跳转语句 76
6.5.1跳出语句break 76
6.5.2继续下一次循环语句continue 77
6.5.3返回语句return 78
6.5.4抛出语句throw 78
6.6其他语句 79
6.6.1 try语句 80
6.6.2 using语句 81
6.6.3 lock语句 82
6.6.4 checked和unchecked语句 83
6.7小结 83
6.8习题 83
第7章 命名空间(教学视频:27分钟) 85
7.1什么是命名空间 85
7.2声明命名空间 85
7.3(点号)运算符 87
7.4(双冒号)运算符 88
7 5 using指令 89
7.5.1导入命名空间 89
7.5.2创建命名空间或类型别名 91
7.6 .NET Framework常用命名空间 92
7.7小结 94
7.8习题 94
第8章类(教学视频:81分钟) 96
8.1什么是类 96
8.1.1声明类 96
8.1.2设置类的访问权限 96
8.1.3继承类 98
8.1.4类、对象和实例化 99
8.2类的组成 99
8.2.1常量 99
8.2.2字段 101
8.2.3方法 102
8.2.4属性 107
8.2.5索引器 108
8.2.6构造函数 110
8.2.7析构函数 113
8.2.8事件 113
8.3小结 113
8.4习题 114
第9章 结构(教学视频:15分钟) 116
9.1结构概述 116
9.2结构成员 117
9.3结构和类的区别 117
9.3.1继承 118
9.3.2 this保留字 118
9.3.3构造函数 119
9.4小结 120
9.5习题 120
第10章 数组(教学视频11分钟) 122
10.1使用数组 122
10.1.1数组的基准——维度数 122
10.1.2声明数组 122
10.1.3实例化数组 123
10.1.4初始化数组 123
10.1.5遍历数组 125
10.2数组的类型 127
10.2.1一维数组 127
10.2.2二维数组 128
10.2.3多维数组 130
10.2.4交错数组 131
10.3静态数组System.Array 133
10.3.1常用属性概览 133
10.3.2常用方法概览 134
10.3.3获取数组长度 135
10.3.4获取元素的值 137
10.3.5设置元素的值 138
10.3.6获取元素的索引 140
10.3.7排序数组 141
10.3.8反转数组 141
10.4动态数组System.ArrayList 142
10.4.1常用属性概览 143
10.4.2常用方法概览 144
10.4.3添加元素 145
10.4.4移除元素 146
10.5小结 147
10.6习题 147
第2篇 面向对象技术深入 152
第11章 接口(教学视频:35分钟) 152
11.1使用接口 152
11.1.1声明接口 152
11.1.2设定接口的访问权限 152
11.1.3继承接口 153
11.2接口的组成 155
11.2.1属性 155
11.2.2索引器 155
11.2.3方法 156
11.2.4事件 156
11.3实现接口 156
11.3.1实现属性 157
11.3.2实现索引器 158
11.3.3实现方法 158
11.3.4实现事件 159
11.4抽象类和接口 161
11.5小结 162
11.6习题 162
第12章 委托和事件(教学视频:33分钟) 165
12.1使用委托 165
12.1.1声明委托 165
12.1.2向委托注册方法 166
12.1.3实例化委托 166
12.1.4构建委托的方法列表 168
12.1.5调用委托 169
12.2使用事件 170
12.2.1声明事件 171
12.2.2注册事件 171
12.2.3移除事件 172
12.2.4调用事件 173
12.3小结 174
12.4习题 174
第13章 异常处理(教学视频:21分钟) 177
13.1什么是异常 177
13.1.1导致异常的原因 177
13.1.2捕捉异常——try语句 177
13.1.3异常处理流程 180
13.2异常的基类System.Exception 180
13.3常用异常类 181
13.4小结 183
13.5习题 183
第14章 泛型(教学视频:29分钟) 185
14.1什么是泛型 185
14.1.1类型形参 185
14.1.2设置类型形参的约束 186
14.1.3声明泛型类 187
14.1.4泛型类的成员 187
14.1.5泛型类的静态字段 188
14.2泛型方法 188
14.2.1声明泛型方法 188
14.2.2调用泛型方法 189
14.2.3通过委托调用泛型方法 190
14.2.4虚泛型方法 191
14.3小结 192
14.4习题 192
第15章 分部类型和可空类型(教学视频:27分钟) 194
15.1使用分部类型 194
15.1.1声明分部类 194
15.1.2声明分部结构 195
15.1.3声明分部接口 195
15.1.4处理同名成员 196
15.1.5处理基接口 197
15.2使用可空类型 197
15.2.1 HasValue和Value属性 198
15.2.2 GetValueOrDefault()方法 199
15.2.3 bool?类型 199
15.3小结 200
15.4习题 200
第16章 赋值(教学视频:36分钟) 202
16.1使用隐型局部变量 202
16.1.1声明隐型局部变量 202
16.1.2使用隐型局部变量 203
16.2使用对象初始化器 205
16.3使用集合初始化器 206
16.4使用匿名类型 207
16.5使用匿名数组 209
16.6小结 211
16.7习题 211
第17章 迭代器、匿名方法和扩展方法(教学视频:33分钟) 213
17.1使用迭代器 213
17.1.1创建非泛型迭代器 213
17.1.2创建泛型迭代器 214
17.1.3使用IEnumerator和IEnumerator<T>接口 216
17.2使用匿名方法 217
17.2.1创建匿名方法 217
17.2.2将匿名方法作为参数传递 218
17.3使用扩展方法 218
17.3.1声明扩展方法 219
17.3.2导入扩展方法 220
17.3.3调用扩展方法 220
17.4小结 221
17.5习题 221
第18章 Lambda表达式和查询表达式(教学视频:62分钟) 223
18.1使用Lambda表达式 223
18.1.1输入参数 223
18.1.2表达式或语句块 224
18.2查询表达式 224
18.2.1 from子句 225
18.2.2 select子句 227
18.2.3 where子句 228
18.2.4 let子句 229
18.2.5 orderby子句 229
18.2.6 group子句 230
18.2.7 into子句 231
18.2.8 join子句 232
18.3小结 235
18.4习题 236
第3篇 C#应用技术 240
第19章 字符串处理(教学视频:78分钟) 240
19.1 String和StringBuilder类 240
19.1.1 String类 240
19.1.2 StringBuilder类 242
19.2使用不变字符串 243
19.2.1插入字符串 243
19.2.2移除字符串 244
19.2.3替换字符串 245
19.2.4联接字符串 246
19.2.5分隔字符串 248
19.2.6填充字符串 249
19.2.7查找字符串 250
19.2.8获取子串 250
19.2.9格式化字符串 251
19.3使用可变字符串 254
19.3.1插入字符串 254
19.3.2追加字符串 255
19.3.3移除字符串 256
19.3.4替换字符串 256
19.3.5复制字符串 258
19.4小结 259
19.5习题 259
第20章 日期和时间处理(教学视频:36分钟) 261
20.1 DateTime结构 261
20.1.1字段 261
20.1.2属性 262
20.1.3方法 263
20.2 TimeSpan结构 264
20.2.1字段 265
20.2.2属性 265
20.2.3方法 266
20.3使用日期和时间 267
20.3.1格式化 267
20.3.2计算时间差 268
20.3.3追加时间 269
20.4小结 269
20.5习题 269
第21章 I/O流、目录和文件处理(教学视频:76分钟) 272
21.1 I/O流 272
21.1.1文件流 272
21.1.2内存流 275
21.2操作文件 278
21.2.1 File类概览 279
21.2.2 FileInfo类概览 279
21.2.3创建文件 280
21.2.4写入文件 280
21.2.5读取文件 282
21.2.6移动文件 282
21.2.7删除文件 284
21.3操作目录 285
21.3.1 Directory类概览 285
21.3.2 DirectoryInfo类概览 286
21.3.3创建目录 287
21.3.4删除目录 288
21.3.5移动目录 291
21.3.6遍历目录 292
21.4小结 293
21.5习题 293
第22章 Windows窗体编程(教学视频:76分钟) 296
22.1什么是Windows窗体应用程序 296
22.1.1创建Windows窗体应用程序 296
22.1.2应用程序起始点 296
22.1.3配置程序集信息 298
22.2常见控件 299
22.2.1标签控件 299
22.2.2图片框控件 299
22.2.3文本框和富文本框 299
22.2.4按钮控件 300
22.2.5单项按钮和复选框 300
22.3 Main Form窗体设计 300
22.3.1配置窗体属性 301
22.3.2添加控件 301
22.3.3创建等待对话框 302
22.3.4添加窗体事件 303
22.4使用对话框 304
22.4.1颜色对话框 304
22.4.2字体对话框 305
22.4.3打开文件对话框 306
22.4.4保存文件对话框 307
22.4.5目录浏览对话框 309
22.4.6对话框窗体 309
22.5容器 311
22.5.1面板 311
22.5.2组合框 311
22.5.3 TabControl控件 312
22.5.4容器窗体 312
22.6数据网格视图控件 314
22.7使用菜单和工具栏 316
22.7.1使用菜单 316
22.7.2使用工具栏 317
22.7.3使用上下文菜单 318
22.8运行应用程序 319
22.9小结 319
22.10习题 320
第23章 使用GDI+绘图(教学视频:89分钟) 322
23.1 GDI+的构成 322
23.1.1 Graphics类 322
23.1.2点和区域 325
23.1.3颜色 327
23.1.4刷 328
23.1.5画笔 328
23.1.6字体 329
23.2绘制线条、形状和文本 331
23.2.1创建Chapter23窗体应用程序 331
23.2.2 Paint事件 331
23.2.3绘制直线 332
23.2.4绘制折线 333
23.2.5绘制曲线 334
23.2.6绘制虚线 335
23.2.7绘制矩形 336
23.2.8绘制三角形 337
23.2.9绘制多边形 338
23.2.10绘制椭圆 339
23.2.11绘制饼状图 340
23.2.12绘制文本 342
23.3小结 343
23.3习题 343
第24章 操作数据库(教学视频:91分钟) 345
24.1什么是ADO.NET 345
24.1.1 ADO.NET组成结构 345
24.1.2 ADO.NET基本对象 346
24.2操作SQL Server数据库 351
24.2.1创建Chapter24窗体应用程序 351
24.2.2创建Data24数据库 351
24.2.3连接数据库 352
24.2.4读取数据 354
24.2.5插入数据 355
24.2.6修改数据 357
24.2.7删除数据 359
24.2.8使用DataGridView控件显示数据 361
24.2.9使用ListView控件显示数据 362
24.2.10使用TreeView控件显示数据 363
24.3小结 365
24.4习题 365
第4篇 项目案例实战 368
第25章 图书管理系统 368
25.1系统总体设计 368
25.1.1系统功能设计 369
25.1.2图书管理系统组成 370
25.1.3数据库设计 371
25.1.4数据库实体类设计 373
25.1.5应用程序主入口 373
25.1.6应用程序全局变量 374
25.2管理员模块 374
25.2.1管理员登录 374
25.2.2主窗口 377
25.2.3分类管理 384
25.2.4书籍管理 391
25.2.5借阅书籍 397
25.3学生和老师模块 402
25.3.1学生或老师登录 402
25.3.2主窗口 402
25.3.3归还书籍 406
25.3.4查看书籍信息 408
25.3.5浏览书籍 411
25.3.6借阅书籍 415
25.4小结 415
第26章 P2P聊天工具 416
26.1系统总体设计 416
26.1.1系统功能设计 416
26.1.2 P2P聊天工具组成 416
26.2 P2P聊天工具类库实现 417
26.2.1 MainClass类 417
26.2 2 ViewMessage类 421
26.3 P2P聊天工具聊天窗口 421
26.4小结 427
第27章 我的校内网 428
27.1系统总体设计 428
27.1.1系统功能设计 428
27.1.2校内网组成 429
27.1.3数据库设计 429
27.1.4数据库实体类设计 431
27.1.5标题模块 432
27.1.6配置文件Web.config 433
27.2常用功能模块实现 433
27.2.1登录页面 433
27.2.2主页面 437
27.2.3我的好友 439
27.2.4添加好友 443
27.2.5我的相册 447
27.2.6上传照片 451
27.2.7我的日志 455
27.2.8添加日志 459
27.3小结 462