第1章.NET与C 1
1.1 .NET介绍 1
1.1.1 .NET Framework简介 1
1.1.2 .NET框架主要内容 4
1.1.3公共语言运行时 5
1.2 C#介绍 10
1.2.1 C#简介 10
1.2.2 C#优势 11
1.3课后习题 12
第2章 第一个C#程序 13
2.1 Visual Studio 2012开发环境 13
2.1.1 Visual Studio 2012简介 13
2.1.2 Visual Studio 2012安装 14
2.1.3 Visual Studio 2012集成环境介绍 16
2.2第一个C#程序 19
2.2.1创建第一个C#程序 19
2.2.2运行第一个C#程序 20
2.3课后习题 21
第3章 变量与表达式 22
3.1 C#基本语法 22
3.1.1关键字 22
3.1.2注释 23
3.1.3命名规则与约定 23
3.2数据类型 25
3.2.1概述 25
3.2.2值类型 25
3.2.3引用类型 26
3.3常量、变量和类型转换 27
3.3.1常量 27
3.3.2变量 27
3.3.3类型转换 27
3.3.4装箱与拆箱 28
3.4运算符与表达式 30
3.4.1赋值运算符 30
3.4.2算术运算符 30
3.4.3关系运算符 31
3.4.4逻辑运算符 32
3.4.5位运算符 33
3.4.6运算符优先级 35
3.4.7表达式和语句 35
3.5课后习题 35
第4章 流程控制语句 36
4.1流程控制语句概述 36
4.2选择语句 37
4.2.1 if语句 37
4.2.2 switch语句 41
4.3循环语句 44
4.3.1 do循环 44
4.3.2 while循环 46
4.3.3 for循环 46
4.3.4 foreach循环 49
4.4跳转语句 50
4.4.1 break语句 50
4.4.2 continue语句 51
4.5代码调试 52
4.5.1运行、调试与生成 52
4.5.2语法错误调试 53
4.5.3逻辑错误调试 53
4.5.4其他调试技术 55
4.6课后习题 57
第5章 数组与集合 58
5.1数组 58
5.1.1数组概述 58
5.1.2一维数组 58
5.1.3二维数组 61
5.2集合 62
5.2.1集合类概述 62
5.2.2 Stack 63
5.2.3 Queue 64
5.2.4 ArrayList 66
5.2.5 Hashtable 68
5.3课后习题 70
第6章 面向对象编程基础 71
6.1面向对象概述 71
6.1.1对象 71
6.1.2面向对象程序设计 72
6.1.3面向对象程序设计三大特性 72
6.2类的定义 73
6.3访问修饰符 74
6.3.1概述 74
6.3.2可访问性级别 75
6.4构造函数与析构函数 76
6.4.1构造函数 76
6.4.2析构函数 78
6.5字段、属性与索引器 80
6.5.1字段 80
6.5.2属性 84
6.5.3索引器 87
6.6方法 89
6.6.1方法声明 89
6.6.2方法参数 90
6.7重载 98
6.7.1签名 99
6.7.2方法重载 99
6.7.3构造函数重载 101
6.7.4索引器重载 104
6.7.5运算符重载 105
6.8静态成员 107
6.8.1静态字段 107
6.8.2静态属性 107
6.8.3静态构造函数 107
6.8.4静态方法 109
6.8.5静态类 109
6.9分部类 110
6.10命名空间 111
6.10.1声明命名空间 112
6.10.2使用命名空间 112
6.10.3命名空间别名 113
6.11自定义类库 115
6.12课后习题 119
第7章 高级面向对象技术 121
7.1继承 121
7.1.1从基类继承 121
7.1.2从接口继承 128
7.1.3从抽象类继承 133
7.1.4多继承 136
7.1.5 is和as运算符 137
7.2密封方法、密封属性和密封类 140
7.3方法的重载、重写与多态 143
7.4对象类型转换 147
7.5异常 149
7.5.1异常概述 149
7.5.2异常处理 150
7.5.3常用异常类 157
7.5.4自定义异常类 158
7.6委托与事件 159
7.6.1委托 159
7.6.2事件 161
7.7课后习题 166
第8章 C#高级技术 168
8.1可空类型 168
8.1.1可空类型的声明与使用 168
8.1.2可空类型的转换 170
8.1.3可空类型的运算 172
8.1.4??运算符 174
8.2初始化器 175
8.2.1对象初始化器 176
8.2.2集合初始化器 177
8.3推断类型与匿名类型 178
8.3.1推断类型 178
8.3.2匿名类型 179
8.4 dynamic类型 181
8.5扩展方法 184
8.6自定义集合类 187
8.7泛型 189
8.7.1泛型概述 189
8.7.2泛型方法 190
8.7.3常用泛型类 191
8.7.4自定义泛型类 197
8.7.5自定义泛型接口 201
8.7.6泛型委托 202
8.7.7 default关键字和类型约束 205
8.8反射 207
8.8.1获取类型的Type引用 208
8.8.2 Type的属性 208
8.8.3 Type的方法 210
8.8.4反射与泛型 212
8.9匿名方法 217
8.9.1匿名方法的语法 217
8.9.2匿名方法与委托 218
8.9.3匿名方法与事件 219
8.10 Lambda表达式 220
8.10.1 Lambda表达式语法 220
8.10.2 Lambda表达式的使用 220
8.11 LINQ 222
8.11.1 LINQ概述 222
8.11.2 LINQ基本语法 223
8.11.3 LINQ扩展方法 226
8.11.4复杂数据集的查询 227
8.12课后习题 235
第9章 XML和文件操作 237
9.1 XML概述 237
9.1.1 XML语法 237
9.1.2文档类型定义 239
9.2访问和操作XML 242
9.2.1 .NET中的DOM概述 242
9.2.2创建和保存XML文档 243
9.2.3将XML读入内存 243
9.2.4选择节点 244
9.2.5创建新节点 245
9.2.6修改XML文档 247
9.2.7删除XML文档节点、属性和内容 247
9.3文件系统概述 248
9.4常用文件操作类 250
9.4.1 Directory类 250
9.4.2 File类 252
9.4.3 FileStream类 254
9.4.4 StreamReader类 256
9.4.5 StreamWriter类 257
9.5课后习题 257
第10章 Windows应用程序开发基础 259
10.1 Windows应用程序 259
10.1.1 Windows应用程序概述 259
10.1.2 Windows应用程序的开发步骤 260
10.2窗体 263
10.2.1窗体属性设置 263
10.2.2窗体事件 264
10.3控件的使用 265
10.3.1添加控件 265
10.3.2控件的定位、对齐和调整大小 266
10.3.3删除控件 267
10.3.4控件的基本属性 267
10.3.5控件的常用事件 268
10.3.6控件的使用示例 268
10.4菜单栏和工具栏 270
10.4.1菜单栏和工具栏概述 270
10.4.2菜单栏 270
10.4.3工具栏 273
10.5 MDI应用程序 276
10.5.1 SDI和MDI概述 276
10.5.2 MDI应用程序的创建 276
10.6课后习题 277
第11章 项目实训案例 278
11.1学生管理信息系统 278
11.1.1开发背景 278
11.1.2需求分析 278
11.1.3概要设计 278
11.1.4详细设计 279
11.2房屋租赁管理信息系统 284
11.2.1开发背景 284
11.2.2需求分析 284
11.2.3概要设计 284
11.2.4详细设计 285
11.3仓库管理信息系统 290
11.3.1开发背景 290
11.3.2需求分析 290
11.3.3概要设计 290
11.3.4详细设计 291