第1章 概述 1
1.1编写C#代码 1
1.1.1第一个C#程序 1
1.1.2语句 3
1.1.3注释 3
1.2命名空间 4
1.2.1资源的组织 4
1.2.2使用using语句 5
1.3项目类型 5
1.3.1控制台应用程序 6
1.3.2 Windows窗体应用程序 6
1.3.3 ASP.NET网站 7
第2章 数据处理(一) 10
2.1变量与常量 10
2.1.1变量 10
2.1.2常量 11
2.1.3基本数据类型 11
2.1.4 sizeof运算符 11
2.2值类型与引用类型 12
2.3整数 12
2.3.1算术运算 12
2.3.2增量与减量运算 13
2.3.3位操作 13
2.3.4溢出检查 15
2.4浮点数与decimal 16
2.4.1类型转换 16
2.4.2算术运算中的类型转换 17
2.4.3处理小数位 18
2.5布尔类型 19
2.6字符串 19
2.6.1转义字符 20
2.6.2逐字字符字符串 20
2.7字符 21
2.8枚举 21
2.9结构与类 22
2.9.1字段 22
2.9.2属性 23
2.9.3方法 24
第3章 流程控制 26
3.1比较运算 26
3.2条件语句 26
3.2.1 if语句 26
3.2.2?:运算符 30
3.3 switch语句 30
3.4循环语句 32
3.4.1 for语句 32
3.4.2 foreach语句 34
3.4.3 while语句 34
3.4.4 do-while语句 35
3.5 goto语句与标签 35
3.6异常处理 36
3.6.1 try-catch-finally语句 36
3.6.2 throw语句 38
3.6.3应用中的异常处理 38
第4章 面向对象编程 40
4.1类与对象 40
4.2属性与字段 41
4.2.1字段 41
4.2.2属性 41
4.2.3自动属性 43
4.2.4只读属性 43
4.2.5只写属性 43
4.2.6属性的应用 44
4.3访问级别 44
4.4构造函数与初始化器 45
4.4.1构造函数 45
4.4.2初始化器 46
4.4.3构造函数链 46
4.4.4参数默认值 48
4.5析构函数 48
4.6方法 49
4.6.1按值或按引用传递参数 50
4.6.2输出参数 51
4.6.3参数数组 52
4.6.4重载 53
4.6.5参数默认值 54
4.6.6泛型方法 55
4.7索引器 56
4.8分部类与分部方法 58
4.9静态类与静态成员 59
4.9.1代码封装 60
4.9.2工厂方法 60
4.9.3静态构造函数 60
4.10运算符重载 61
4.11扩展方法 63
4.12匿名类型与var关键字 64
4.13泛型类 65
第5章 继承 67
5.1父类与子类 67
5.1.1构造函数的继承 68
5.1.2唯一没有父类的类(Object) 70
5.2成员的重写 70
5.2.1虚拟成员 70
5.2.2重写 71
5.2.3隐藏父类成员 71
5.3抽象类与抽象方法 72
第6章 接口 74
6.1创建接口 74
6.2实现接口 74
6.3接口的继承 75
6.4泛型接口 78
6.5泛型约束 79
6.6 using语句与IDisposable接口 79
第7章 数组与集合 83
7.1数组与Array类 83
7.1.1多维数组与成员数量 83
7.1.2成员访问与查询 84
7.1.3成员排序 86
7.1.4成员反向排列 89
7.1.5数组复制 89
7.1.6统计方法 90
7.1.7其他常用成员 91
7.2 ArrayList与List?泛型类 91
7.2.1成员访问与查询 92
7.2.2添加成员 93
7.2.3删除成员 94
7.2.4成员排序 94
7.2.5成员反向排列 95
7.2.6成员复制 95
7.3 Hashtable与Dictiona?泛型类 97
7.3.1成员访问与查询 97
7.3.2修改成员 98
7.4 foreach语句与枚举器 98
7.5小结 102
第8章 日期与时间 103
8.1 DateTime结构 103
8.1.1获取日期和时间值 104
8.1.2日期与时间计算 104
8.2区域 105
8.2.1 CultureInfo类 106
8.2.2日历类 106
8.3日期与时间格式化 106
8.3.1 GetDateTimeFormats()方法 107
8.3.2 ToString()方法 108
8.4中国农历 109
8.5星期与季度计算 113
8.6节日判断 115
8.6.1固定日期节日 115
8.6.2不固定日期节日 116
8.6.3给出节日信息 117
第9章 数据处理(二) 119
9.1 String类 119
9.1.1常用成员 119
9.1.2字符串格式化 122
9.2 StringBuilder类 123
9.2.1构造函数 124
9.2.2内容操作 124
9.2.3缓存功能 124
9.3空值(null)处理 125
9.3.1可空类型 126
9.3.2??运算符 126
9.3.3?运算符 126
9.4类型判断与转换 127
9.4.1 Type类 127
9.4.2 is和as运算符 129
9.4.3隐式转换和强制转换 129
9.4.4装箱与拆箱 130
9.4.5 TryParse()方法 130
9.4.6 Convert类 131
9.5封装类型转换方法 131
9.6散列 132
9.6.1 MD5算法 133
9.6.2 SHA1算法 134
9.7 GUID 134
9.8对象的复制 135
9.8.1浅复制与深复制 135
9.8.2实现IClonable接口 136
9.8.3序列化 137
第10章 设计模式 140
10.1策略模式 140
10.2单件模式 145
10.3组合模式 146
10.4委托、事件与访问者模式 149
10.4.1委托 149
10.4.2事件与用户控件 151
10.4.3访问者模式 153
10.5“三层架构”模式 153
10.5.1.用户界面层 153
10.5.2业务逻辑层 154
10.5.3数据访问层 154
10.6 MVC模式 154
10.7小结 155
第11章 LINQ与Lambda表达式 156
11.1 LINQ查询语句 156
11.1.1基本查询 156
11.1.2集合方法 158
11.1.3排序 159
11.1.4分组 159
11.2 Lambda表达式 160
第12章 路径、目录与文件 161
12.1路径 161
12.1.1 Path类 161
12.1.2封装常用功能 162
12.2文件 164
12.2.1 File类与FileInfo类 164
12.2.2文件的读写 165
12.3目录 166
12.4 ZipFile类 167
第13章 图形图像 169
13.1常用资源 169
13.1.1 Color结构 169
13.1.2 Bitmap类 169
13.1.3 Graphics类 171
13.1.4格式刷与渐变 171
13.1.5画笔 173
13.2图形绘制 175
13.2.1矩形 175
13.2.2椭圆与圆形 176
13.2.3线条与多边形 177
13.2.4封闭图形 178
13.2.5绘制文本 180
13.2.6扇形与弧线 181
13.2.7曲线 183
13.3旋转与翻转 185
13.4位图截取 186
13.4.1截取矩形区域 186
13.4.2截取椭圆或圆形区域 188
13.5封装CImage类 190
13.5.1图像的尺寸问题 190
13.5.2创建CImage类 190
13.5.3基本图形绘制 192
13.5.4绘制文本 193
13.5.5保存与打印 193
第14章 获取系统与硬件信息 196
14.1环境变量 196
14.1.1读取环境变量 196
14.1.2设置环境变量 197
14.2 CPU信息 198
14.3内存信息 200
14.3.1 GlobalMemoryStatusEx()函数 200
14.3.2使用WMI获取内存条信息 202
14.4驱动器信息 204
14.4.1使用DriveInfo类 204
14.4.2使用WMI获取硬盘信息 205
14.5操作系统信息 207
14.5.1获取Windows版本 207
14.5.2获取计算机与用户名称 208
第15章 网络 209
15.1测试网络连接 209
15.2下载与上传文件 211
15.2.1下载文件 211
15.2.2上传文件 212
15.3发送电子邮件 212
第16章 正则表达式 216
16.1匹配模式 216
16.1.1字符匹配 216
16.1.2转义字符 217
16.1.3应用规则 217
16.2 Regex类 218
16.3封装CCheckData类 219
16.3.1验证E-mail地址 219
16.3.2验证手机号 220
16.3.3验证18位身份证号 220
16.3.4验证用户名格式 221
16.3.5验证是否为汉字 222
16.3.6验证是否可以转换为数值 222
16.3.7限制数据范围 223
第17章 SQL Server数据库 225
17.1应用基础 225
17.2准备数据库 226
17.3数据表与字段 229
17.3.1常用数据类型 229
17.3.2字段与约束 230
17.3.3添加新记录 231
17.3.4更新记录 232
17.3.5删除记录 233
17.3.6主键 234
17.3.7外键 235
17.4数据查询 235
17.4.1查询条件 237
17.4.2排序(order by子句) 240
17.4.3函数 241
17.4.4分组(group by子句) 242
17.4.5连接(jion子句) 243
17.4.6自动行号 245
17.5视图(View) 246
17.6存储过程(Stored Procedure) 247
17.7事务(Transaction) 248
17.8使用ADO.NET 249
17.8.1连接数据库 249
17.8.2执行SQL和调用存储过程 252
17.8.3使用事务 256
17.8.4脱机组件 257
第18章 创建数据基本操作组件 260
18.1 CDataItem和CDataCollection类 261
18.1.1 CDataItem类 261
18.1.2 CDataCollection类 263
18.2数据引擎组件 267
18.2.1 IDbEngine接口 267
18.2.2 CDbEngineBase基类 269
18.2.3 CSqlEngine类与CSql类 270
18.3数据记录操作组件 276
18.3.1 IDbRecord接口 276
18.3.2 CDbRecordBase基类 278
18.3.3 CSqlRecord类 281
18.3.4 CDbRecord类 286
18.3.5在项目中初始化CDbRecord类 288
18.4支持Access数据库 290
18.4.1 CAccess类 290
18.4.2 CAccessEngine类 291
18.4.3 CAccessRecord类 295
18.4.4在CDbRecord类支持Access 299
18.4.5测试用Access数据库 300
18.5综合测试 300
18.5.1基本数据操作测试 302
18.5.2用户登录 304
18.5.3切换数据库 305
第19章 创建数据查询组件 307
19.1查询条件 307
19.1.1查询条件类型 307
19.1.2条件之间的关系 308
19.1.3条件组合 309
19.2 CCondition类 309
19.2.1 CreateCompareCondition()方法 310
19.2.2 CreateRangeCondition()方法 311
19.2.3 CreateDateRangeCondition()方法 312
19.2.4 CreateValueListCondition()方法 312
19.2.5 CreateFuzzyCondition()方法 313
19.2.6 CreateNullValueCondition()方法 313
19.3 CConditionGroup类 313
19.4 IDbQuery接口 315
19.5 CDbQuery Base类 315
19.5.1基本实现 315
19.5.2 GetCompareOperator()方法 317
19.5.3 GetConditionSql()方法 317
19.5.4 GetConditionSql()方法 319
19.5.5 GetSelectSql()方法 320
19.6 CSqlQuery类 321
19.7 CAccessQuery类 323
19.8 CDbQuery通用类 325
19.9综合测试 327
19.9.1比较运算符查询 329
19.9.2范围查询 331
19.9.3数据列表查询 332
19.9.4空值(NULL)查询 332
19.9.5文本模糊查询 333
19.9.6使用UseNot属性 334
19.9.7组合条件查询 334
19.10支持其他数据库 335
第20章 操作Excel文件 336
20.1使用OLEDB 336
20.1.1打开工作表 336
20.1.2数据操作 339
20.2使用Excel对象库 340
20.2.1 Excel文档与工作表 341
20.2.2单元格 343
20.2.3区域(Range)与格式 344
第21章 Windows窗体应用 346
21.1窗体与布局 346
21.1.1 Form类 346
21.1.2使用SplitContainer控件布局 347
21.1.3控件的Dock属性 348
21.1.4 MDI窗体 349
21.1.5异形窗体 351
21.1.6无标题窗体移动与关闭 352
21.2 Button控件 353
21.3 TextBox控件 354
21.4 MaskedTextBox控件 354
21.5 NumeericUpDown控件 357
21.6 CheckBox控件 357
21.7 RadioButton与GroupBox控件 358
21.8列表控件 358
21.8.1 ListBox和ComboBox控件 358
21.8.2列表的数据处理 359
21.9 CheckedBoxList控件 361
21.10日期与时间控件 365
21.11菜单 366
21.12通知图标 368
21.13工具栏 369
21.14 DataGridview控件 370
21.14.1数据访问 370
21.14.2显示与格式设置 373
21.15 TreeView控件 374
21.16对话框 376
21.16.1信息、警告与错误 376
21.16.2提问对话框 378
21.16.3输入对话框 379
21.16.4颜色 384
21.16.5字体 384
21.16.6打开、保存文件 385
21.16.7选择路径 387
第22章 ASP.NET网站开发 388
22.1网站开发概述 388
22.1.1 HTML 388
22.1.2 CSS 389
22.1.3 JavaScript 392
22.1.4动态页面技术 394
22.1.5数据库 397
22.2创建ASP.NET网站 397
22.2.1使用IIS Express测试 399
22.2.2使用US测试 401
22.2.3常用目录 403
22.2.4常用文件类型 404
22.2.5加入封装代码库 405
22.3页面与Web窗体 407
22.4常用对象 409
22.4.1 Request对象 409
22.4.2 Response对象 411
22.4.3 Server对象 411
22.4.4 Session对象 412
22.5 Web控件 412
22.5.1按钮类控件 412
22.5.2文本类控件 413
22.5.3 CheckBox控件 415
22.5.4列表类控件 416
22.5.5日期与自定义控件 420
22.5.6 Panel控件 428
22.6文件上传 430
22.7缓存 433
22.8 Ajax基础 435
22.9全站编译 439
22.10示例:基于数据库的用户注册与登录 439
22.10.1实现验证码 439
22.10.2注册 444
22.10.3登录与跳转 447
第23章 项目示例1:截屏程序 452
23.1实现截屏 452
23.2实时显示截取内容 455
23.3响应键盘操作 457
23.4保存到剪切板 457
23.5添加自动保存选项 457
第24章 项目示例2:迷你账本 460
24.1项目概况 460
24.1.1账目的基本操作 460
24.1.2多账本管理 460
24.1.3安全性 460
24.1.4账目查询 461
24.1.5账目统计 461
24.2项目准备 461
24.2.1创建项目数据库 461
24.2.2初始化CAccountBook项目 463
24.2.3主窗体 465
24.3系统与账本操作 467
24.3.1家长权限 467
24.3.2账本管理 470
24.3.3打开账本 474
24.4添加账目 478
24.4.1新增支出项 479
24.4.2新增收入项 481
24.5账目查询与编辑 481
24.5.1周期查询 481
24.5.2编辑账目信息 484
24.5.3综合查询 485
24.5.4删除 488
24.6账目统计 488
第25章 项目示例3: Web版个人助手 491
25.1项目概况 491
25.2项目准备 492
25.2.1准备数据库 492
25.2.2项目初始化 493
25.2.3处理会话数据 495
25.2.4修改CVerificationCode类 498
25.2.5 Web.Config配置与自定义控件 499
25.2.6 ASP.NET页面模板 500
25.3首页 500
25.4用户注册 503
25.4.1封装代码 503
25.4.2注册页面 505
25.4.3保存用户信息 507
25.5登录 510
25.6个人信息 514
25.7修改密码 516
25.8通讯录功能 519
25.8.1准备数据表 519
25.8.2 CAddrList类 520
25.8.3通讯录主页(/addrlist/Index.aspx) 521
25.8.4查询(CAddrListQuery类) 524
25.8.5编辑联系人(/addrlist/Edit.aspx) 525
25.9账本功能 529
25.9.1准备数据库 529
25.9.2 CAcctBook和CAcctRec类 530
25.9.3账本管理 532
25.9.4账目查询 536
25.9.5账目添加与修改 548
25.9.6账目删除 552
25.9.7账目统计 554
附录A ASCII码表 558
附录B二进制、十进制与十六进制对照表 559
附录C基本数据类型对照表 560