第1章 Visual Studio开发环境 1
1.1 Visual Studio 2013简介 1
1.1.1 起始页 1
1.1.2 开发环境 2
1.1.3 窗口布局调整 5
1.2 用Visual Studio 2013 IDE开发应用程序 6
1.2.1 控制台应用程序 7
1.2.2 Windows窗体应用程序 8
1.3 Hello World程序 8
1.3.1 Hello World程序 9
1.3.2 namespace命令 9
1.3.3 using命令 10
1.3.4 程序注释 11
1.3.5 Main函数 11
1.3.6 为Hello World添加色彩 12
1.4 调试应用程序 13
1.5 本章小结 15
第2章 常量和变量 16
2.1 常量 16
2.1.1 常量的定义 16
2.1.2 常量的初始化 16
2.1.3 使用常量的好处 17
2.2 变量 17
2.2.1 变量的声明和使用 17
2.2.2 变量的作用域 18
2.2.3 实例变量和静态变量 19
2.3 运算符与表达式 21
2.3.1 算术运算符、关系运算符和逻辑运算符 22
2.3.2 赋值运算符和字符串运算符 22
2.3.3 条件运算符 22
2.3.4 强制类型转换 23
2.4 枚举 24
2.5 本章小结 24
第3章 流程控制语句 25
3.1 条件控制结构 25
3.1.1 条件判断if语句 25
3.1.2 条件选择switch…case语句 26
3.2 循环控制结构 28
3.2.1 while循环 29
3.2.2 do…while循环 31
3.2.3 for循环 32
3.2.4 foreach循环 34
3.2.5 break和continue关键字 36
3.2.6 多重循环 38
3.3 数组 40
3.3.1 数组类型 40
3.3.2 声明和分配数组 41
3.3.3 数组元素访问 41
3.4 本章小结 42
第4章 面向对象 43
4.1 C#中的方法 43
4.2 对象和类 44
4.2.1 抽象 45
4.2.2 封装 45
4.2.3 继承 45
4.2.4 多态 46
4.2.5 抽象类和密封类 47
4.2.6 this关键字 50
4.2.7 base关键字 53
4.2.8 构造函数相互调用 54
4.3 异常处理 55
4.3.1 异常处理概述 55
4.3.2 处理异常 59
4.3.3 深入了解异常 65
4.4 本章小结 82
第5章 窗体编程 83
5.1 Windows应用程序概述 83
5.1.1 Windows应用程序 83
5.1.2 调试Windows应用程序 87
5.1.3 窗体 95
5.2 Windows常用窗体控件 101
5.2.1 键盘和鼠标事件 101
5.2.2 按钮控件 105
5.2.3 文本控件 111
5.2.4 图片控件 129
5.2.5 日期控件 133
5.2.6 选择控件 139
5.2.7 Timer控件和ProgressBar控件 142
5.3 Windows复杂窗体控件 146
5.3.1 列表控件 146
5.3.2 菜单栏、工具栏和状态栏 162
5.4 对话框 177
5.4.1 对话框概述 177
5.4.2 通用对话框 185
5.4.3 打印对话框 193
5.5 本章小结 203
第6章 文件操作 204
6.1 System.IO命名空间 204
6.2 .NET文件系统 205
6.2.1 管理目录 205
6.2.2 管理文件 209
6.3 文本文件读写 211
6.4 二进制文件读写 213
6.5 文件操作实例展示 214
6.6 本章小结 219
第7章 线程 220
7.1 线程概述 220
7.1.1 创建线程 220
7.1.2 线程类Thread 224
7.2 线程互斥 226
7.2.1 多线程引发的问题 227
7.2.2 用Monitor类管理临界区 229
7.2.3 用Interlocked类实现线程安全的数值修改 233
7.2.4 用lock语句管理临界区 234
7.3 线程同步 237
7.3.1 事件等待句柄EventWaitHandle 237
7.3.2 信号量Semaphore 246
7.3.3 读写锁ReaderWriterLock 251
7.4 线程池 254
7.4.1 线程池类ThreadPool 255
7.4.2 后台工作线程类BackgroundWorker 259
7.5 本章小结 262
第8章 数据访问 263
8.1 连接数据库 263
8.1.1 从Visual Studio 2013连接到数据库 263
8.1.2 数据库连接类DbConnection 264
8.2 执行SQL命令 268
8.2.1 数据库命令类DbCommand 269
8.2.2 SQL命令参数 273
8.3 DataReader和DataSet 276
8.3.1 数据读取器DataReader 276
8.3.2 数据集DataSet概述 283
8.3.3 数据表、数据列和数据行 283
8.3.4 构建表结构 285
8.3.5 编辑数据 287
8.3.6 数据行状态 289
8.4 数据适配器 292
8.4.1 SqlDataAdapter概述 292
8.4.2 填充数据 293
8.4.3 获取表架构 299
8.4.4 更新数据库 300
8.4.5 命令生成类SqlCommandBuilder 303
8.5 显示数据 305
8.5.1 数据表格控件DataGridView 305
8.5.2 控制DataGridView外观和行为 306
8.6 数据集设计器和强类型数据集 307
8.6.1 添加数据集 308
8.6.2 添加查询 313
8.7 本章小结 315
第9章 LINQ与实体框架 316
9.1 C#对LINQ的支持 316
9.1.1 对象初始化器 316
9.1.2 隐式类型 317
9.1.3 匿名类型 319
9.1.4 扩展方法 321
9.1.5 Lambda表达式 323
9.1.6 表达式树 325
9.2 LINQ基本操作 327
9.2.1 创建查询数据源 327
9.2.2 投影 329
9.2.3 选择 331
9.2.4 排序 333
9.2.5 数据分页 334
9.2.6 数据分组 336
9.2.7 返回单个元素 337
9.2.8 延迟执行和立即执行 340
9.3 实体框架Entity Framework 342
9.3.1 实体框架基本概念 342
9.3.2 创建数据模型 343
9.3.3 查询数据 345
9.3.4 外键关系和导航属性 347
9.3.5 修改数据 352
9.4 深入理解实体框架 356
9.4.1 对象上下文ObjectContext 357
9.4.2 对象状态和对象修改 359
9.5 本章小结 362
第10章 ASP.NET WebForm开发 363
10.1 ASP.NET事件模型和页面生命周期 363
10.1.1 经典的Web事件处理方法 363
10.1.2 ASP.NET服务器控件事件模型 367
10.1.3 ASP.NET页面生命周期 368
10.2 基本Web服务器控件 372
10.2.1 文本控件 372
10.2.2 按钮控件 377
10.2.3 日历控件 380
10.2.4 文件上传控件 381
10.2.5 选择控件 384
10.2.6 列表控件 386
10.3 高级Web控件 389
10.3.1 验证控件 389
10.3.2 广告控件 403
10.3.3 视图控件——TreeView 405
10.3.4 向导控件——Wizard 406
10.4 本章小结 411
第11章 ASP.NET MVC开发 412
11.1 创建应用程序 412
11.2 添加控制器 412
11.3 添加视图 418
11.3.1 更改视图和布局页 421
11.3.2 将数据从控制器传递到视图 424
11.4 添加模型 426
11.5 创建连接字符串和使用SQL服务器LocalDB 428
11.6 从控制器访问数据模型 430
11.6.1 创建电影 431
11.6.2 检查生成的代码 432
11.6.3 强类型的型和@model关键字 433
11.7 本章小结 435