第1章 C#与.NET平台概述 1
1.1 C#的发展历史和现状 1
1.2 .NET平台简介 2
1.3 安装Visual Studio 2013 4
小结 7
习题 7
第2章 类型与表达式 8
2.1 语句 8
2.2 标识符 8
2.3 C#变量类型 9
2.3.1 变量的命名规范 9
2.3.2 声明变量 10
2.3.3 变量的类型 10
2.3.4 基本数据类型 11
2.3.5 字符串 11
2.3.6 变量的使用 12
2.4 操作符 12
2.5 算术表达式 13
2.5.1 算术表达式简介 13
2.5.2 优先级 13
2.5.3 类型的转换 13
小结 14
习题 14
第3章 控制语句 15
3.1 条件语句 15
3.1.1 布尔变量 15
3.1.2 布尔操作符 15
3.1.3 if语句 18
3.1.4 switch语句 21
3.2 循环语句 24
3.2.1 while语句 24
3.2.2 for语句 26
3.2.3 do while语句 28
3.2.4 break与continue 28
小结 31
习题 32
第4章 方法与作用域 33
4.1 创建方法 33
4.1.1 声明方法 33
4.1.2 从方法返回数据 34
4.1.3 方法的调用 35
4.1.4 重载方法 37
4.2 作用域 38
小结 39
习题 39
第5章 数组与参数数组 40
5.1 数组 40
5.1.1 一维数组 40
5.1.2 多维数组 41
5.1.3 数组的属性 43
5.1.4 变长数组 44
5.2 参数数组 44
5.2.1 重载 44
5.2.2 使用数组参数 45
5.2.3 使用参数数组 46
小结 47
习题 47
第6章 理解类和对象 49
6.1 值和引用 49
6.2 类的声明 51
6.2.1 封装的优点 51
6.2.2 类的定义 52
6.2.3 类的使用 52
6.3 控制可访问性 53
6.4 构造器 54
小结 55
习题 55
第7章 正确使用类和结构体 56
7.1 结构体 56
7.1.1 结构体的声明 56
7.1.2 结构体的使用 57
7.2 结构体和类的比较 58
7.2.1 构造函数 58
7.2.2 字段的初始化 58
7.2.3 其他不同 59
7.3 选择合适的数据类型 59
7.3.1 基本数据类型和复合数据类型 59
7.3.2 类与结构之间的选择 59
小结 60
习题 61
第8章 面向对象编程:继承 62
8.1 继承的概念 62
8.2 C#继承机制 63
8.2.1 使用继承 63
8.2.2 调用基类构造器 65
8.2.3 类的赋值 66
8.3 继承的深入剖析 67
8.3.1 声明virtual方法 67
8.3.2 重写方法 67
小结 70
习题 70
第9章 面向对象编程:多态 72
9.1 什么是多态 72
9.2 接口的声明 72
9.3 接口的实现 73
9.3.1 类继承接口 73
9.3.2 接口引用类 74
9.4 虚函数与重写 75
9.4.1 相关声明 75
9.4.2 动态绑定 76
9.5 抽象类 77
9.5.1 抽象类的声明 77
9.5.2 抽象方法 78
9.6 密封类 79
9.7 再谈多态 80
小结 80
习题 81
第10章 异常处理 82
10.1 什么是异常处理 82
10.2 异常处理机制 83
10.2.1 try和catch语句 83
10.2.2 throw语句 84
10.3 C#异常种类总结 85
小结 87
习题 87
第11章 封装与属性 88
11.1 权限管理 89
11.2 什么是属性 89
11.2.1 属性的声明 89
11.2.2 属性的使用 90
11.2.3 属性权限的控制 91
11.2.4 属性的可访问性 92
11.2.5 属性的命名 92
11.3 属性的局限性 93
11.4 接口中的属性 94
11.5 自动生成属性代码 95
小结 96
习题 97
第12章 委托与事件 98
12.1 理解和声明委托 98
12.1.1 声明委托 98
12.1.2 将方法绑定到委托 100
12.2 声明和引发事件 101
小结 103
习题 104
第13章 操作符重载 105
13.1 常见操作符 105
13.1.1 回顾操作符 105
13.1.2 重载 105
13.1.3 重载和操作符 106
13.2 重载操作符 106
13.2.1 重载算术操作符 106
13.2.2 对称的操作符 107
13.2.3 复合的赋值操作符 108
13.2.4 递增和递减操作符 109
13.2.5 相等操作符 110
13.2.6 再谈类型转换 110
13.3 操作符重载的作用 112
小结 113
习题 113
第14章 注释与XML 114
14.1 注释的基本规范 114
14.1.1 注释风格 114
14.1.2 文件注释 114
14.1.3 类注释 115
14.1.4 方法注释 115
14.1.5 变量注释 116
14.1.6 TODO注释 116
14.2 VS 2013中的注释 116
14.3 使用XML添加注释 117
小结 118
习题 118
第15章 C#的最新特性 119
15.1 泛型 119
15.1.1 object存在的问题 119
15.1.2 泛型的使用 120
15.1.3 泛型中的限制 121
15.1.4 泛型与继承 122
15.1.5 为泛型赋空值 124
15.1.6 泛型类的实质 124
15.2 匿名类型 125
15.2.1 匿名类型的意义与使用 125
15.2.2 类型的推断 126
15.3 动态类型 127
15.3.1 动态类型的使用 127
15.3.2 动态类型的重载 128
小结 128
习题 129
第16章 使用ADO.NET连接数据库 130
16.1 数据库基础 130
16.2 使用SQL Server 2014 132
16.3 ADO.NET连接数据库 135
小结 141
习题 141
第17章 LINQ to SQL入门 142
17.1 语言集成查询 142
17.2 使用LINQ查询 143
17.2.1 LINQ查询的好处 143
17.2.2 LINQ基本语法 143
17.2.3 LINQ to SQL基础 145
17.3 实例——登录与注册 152
小结 158
习题 159
第18章 可视化编程 160
18.1 WindowsForm开发控件介绍 160
18.2 WindowsForm开发实例 165
小结 169
习题 169
第19章 ASP.NET开发基础 170
19.1 ASP.NET简介 170
19.1.1 ASP.NET整体介绍 170
19.1.2 ASP.NET项目的创建 171
19.2 ASP.NET页面语法 175
19.3 配置文件与母版页 177
19.3.1 配置文件 177
19.3.2 母版页 177
19.4 ASP.NET相关控件 178
小结 180
习题 180
第20章 开发实例——医院预约挂号网站 181
20.1 场景描述 181
20.1.1 登录注册 181
20.1.2 在线预约 181
20.1.3 管理员管理 182
20.1.4 取消预约 182
20.2 功能分析与设计 182
20.2.1 用例分析 182
20.2.2 数据库设计 183
20.2.3 页面设计 188
20.3 登录功能设计 189
20.4 在线预约功能的实现 191
20.4.1 科室的选择 191
20.4.2 预约医生 193
20.5 管理员管理模块 196
20.6 网站的发布 198
习题解答 204
参考文献 224