第1章 C#与.NETFramework 1
1.1 C#的起源 1
1.1.1从C语言到C+++ 2
1.1.2 Java的出现 3
1.1.3 C#的诞生 3
1.1.4 C#的发展历程 6
1.2 .NET Framework 6
1.2.1什么是.NET Framework 7
1.2.2 .NET Framework的工作原理 7
1.3第一个C#程序 10
1.3.1使用 csc.exe 10
1.3.2使用Visual Studio 2010 12
1.4上机练习 16
1.5习题 17
第2章 C#程序设计基础 19
2.1数据类型 19
2.1.1数据类型的重要性 19
2.1.2整数类型 20
2.1.3浮点数类型 21
2.1.4其他数据类型 21
2.1.5转义字符 22
2.2字面量和变量 23
2.2.1字面量 23
2.2.2变量 24
2.3运算符与表达式 26
2.3.1算术运算符 26
2.3.2赋值运算符 28
2.3.3关系运算符 29
2.3.4逻辑运算符 29
2.3.5位运算符 31
2.3.6布尔(位)赋值运算符 32
2.3.7运算符的优先级 33
2.4数据类型转换 34
2.4.1隐式转换 34
2.4.2显式转换 35
2.4.3使用Convert命令转换 38
2.5程序控制语句 39
2.5.1选择语句 40
2.5.2循环语句 46
2.5.3跳转语句 49
2.6 上机练习 52
2.7习题 53
第3章 C#高级程序设计 55
3.1复杂的变量类型 55
3.1.1枚举 55
3.1.2结构 58
3.1.3数组 60
3.1.4使用字符串 67
3.2函数 71
3.2.1定义和使用函数 71
3.2.2 Main()函数 78
3.2.3变量的作用域 81
3.2.4为结构增加函数 83
3.2.5递归函数 84
3.3委托与事件 85
3.3.1委托 85
3.3.2事件 88
3.4上机练习 91
3.5习题 93
第4章 面向对象编程基础 95
4.1面向对象概述 95
4.1.1一切都是对象 96
4.1.2对象的生命周期 96
4.1.3继承与多态 98
4.1.4静态成员与静态类 100
4.2定义C#类 101
4.2.1类的声明 101
4.2.2类基础规范 103
4.2.3类的主体 104
4.3添加类成员 105
4.3.1构造函数和析构函数 106
4.3.2定义字段 112
4.3.3定义方法 113
4.3.4定义属性 119
4.3.5在VS中添加类成员 121
4.3.6运算符重载 124
4.4结构和类对比 126
4.4.1结构和类的区别 126
4.4.2在结构中添加属性 127
4.5接口的定义与实现 129
4.5.1接口概述 129
4.5.2定义接口 130
4.5.3接口的实现 131
4.6部分类与部分方法 134
4.6.1部分类的定义 134
4.6.2部分方法 135
4.7上机练习 136
4.8习题 138
第5章 高级OOP技术 139
5.1集合 139
5.1.1对象之间的关系 140
5.1.2提供集合功能的接口 140
5.1.3使用集合 141
5.1.4定义自己的集合 142
5.1.5索引 145
5.1.6迭代器 148
5.2泛型 151
5.2.1泛型概述 151
5.2.2 System.Collections.Genec命名空间 152
5.2.3可空类型 156
5.3定义泛型 157
5.3.1定义泛型类 157
5.3.2定义泛型方法 164
5.3.3定义泛型接口 165
5.3.4定义泛型委托 165
5.4 C#其他高级技术介绍 166
5.4.1 var变量 166
5.4.2匿名类型 167
5.4.3动态查找 169
5.4.4扩展方法 171
5.4.5 Lambda表达式简介 173
5.4.6使用反射 176
5.5上机练习 182
5.6习题 185
第6章 程序调试和异常处理 187
6.1调试C#程序 187
6.1.1非中断模式下的调试 188
6.1.2中断模式下的调试 192
6.2 C#的异常处理 196
6.2.1通用异常类 197
6.2.2未捕获异常的后果 198
6.2.3 C#异常处理机制 198
6.2.4终止应用程序 204
6.3上机练习 205
6.4习题 206
第7章 Windows程序设计 207
7.1 Windows应用程序概述 207
7.1.1窗体与控件 207
7.1.2控件的属性与事件 208
7.2简单控件介绍 210
7.2.1按钮控件 210
7.2.2 Label和LinkLabel控件 213
7.2.3文本框控件 213
7.2.4列表框和组合框 217
7.2.5视图控件 219
7.3菜单和工具栏 222
7.3.1创建菜单 222
7.3.2菜单项 223
7.3.3弹出式菜单 224
7.3.4工具栏 225
7.3.5状态栏 226
7.3.6使用菜单和工具栏 227
7.4上机练习 230
7.5习题 234
第8章 数据访问 235
8.1读写文件 235
8.1.1什么是流 236
8.1.2读写文件相关的类 236
8.1.3序列化对象 244
8.2使用XML 246
8.2.1 XML文档格式 246
8.2.2在应用程序中使用XML 249
8.3使用ADO.NET 259
8.3.1 ADO.NET概述 259
8.3.2使用ADO.NET访问数据库 261
8.3.3使用ADO.NET读写XML 271
8.4 LINQ简介 272
8.4.1使用LINQ查询 273
8.4.2 LINQ查询语法 274
8.4.3使用LINQ查询复杂对象 276
8.5上机练习 278
8.6习题 280
第9章 Web程序设计 281
9.1 Web编程基础 281
9.1.1 ASP.NET概述 282
9.1.2 ASP.NET的工作原理 282
9.1.3 Web窗体页指令 283
9.1.4 ASP.NET内部对象 284
9.2创建Web站点 288
9.2.1新建网站 288
9.2.2 ASP.NET服务器控件 293
9.2.3用户控件 294
9.2.4 ASP.NET AJAX回送 298
9.3 Web服务 300
9.3.1什么是Web服务 300
9.3.2 Web服务体系结构 300
9.3.3支持AJAX的Web服务 301
9.3.4创建Web服务 302
9.3.5调用Web服务 308
9.4上机练习 312
9.5习题 314
第10章 项目实践 315
10.1系统设计 315
10.1.1需求分析 316
10.1.2数据库设计 316
10.2系统实现 318
10.2.1基础类库项目 318
10.2.2 Web网站 331
10.2.3设置启动选项 345
10.3系统运行效果 346
参考文献 351