本教材主要面向计算机及相关专业的本、专科学生,共4篇16章:基础篇,介绍.NET平台、开发环境以及C#语言等;Windows编程篇,介绍如何应用.NET技术实现Windows应用程序的开发;数据访问篇,介绍如何实现对文件、XML文档以及数据库文件等的访问;实战篇,介绍在线对战游戏的开发,该实战项目中运用了前几篇所涉及的所有知识点,教师在授课中可以截取其中的部分功能融入到前面章节的授课中。
第1篇基础篇
第1章.NET概述5
本章导引5
1.1什么是.NET6
1.2.NET平台的组成6
1.3.NET Framework7
1.3.1公共语言运行时(CLR)8
1.3.2.NET Framework类库和命名空间9
1.4C#与其他编程语言的比较10
1.4.1与C、C++的比较10
1.4.2与Java的比较10
1.5Visual Studio 200810
1.6综合实验13
第2章数据类型、操作符和表达式20
本章导引20
2.1C#基本语法21
2.1.1语句21
2.1.2空白21
2.1.3注释21
2.2变量和常量23
2.2.1变量23
2.2.2常量25
2.3值类型26
2.3.1简单值类型26
2.3.2枚举类型29
2.3.3结构类型32
2.4字符串34
2.4.1字符串的表示格式35
2.4.2比较两个字符串36
2.4.3查找指定字符串在字符串中出现的位置37
2.4.4在一个字符串的指定位置插入指定的字符串37
2.4.5从字符串中删除指定数量的字符38
2.4.6字符串替换38
2.4.7字符串中的大小写转换38
2.5运算符39
2.5.1算术运算符39
2.5.2赋值运算符39
2.5.3关系运算符40
2.5.4逻辑运算符40
2.5.5条件运算符40
2.5.6typeof运算符40
2.5.7连接运算符40
2.6综合实验41
第3章流程控制43
本章导引43
3.1分支语句44
3.1.1if语句44
3.1.2switch语句47
3.2循环语句49
3.2.1while语句和do...while语句50
3.2.2for语句52
3.2.3foreach语句55
3.3跳转语句57
3.3.1break语句57
3.3.2continue语句58
3.3.3goto语句58
3.3.4return语句58
3.4综合实验60
第4章类型转换和数组64
本章导引64
4.1类型转换65
4.1.1隐式类型转换65
4.1.2显式类型转换66
4.1.3使用Convert转换68
4.2数组69
4.2.1一维数组69
4.2.2二维数组72
4.2.3交错数组75
4.3综合实验78
第5章面向对象程序设计基础82
本章导引82
5.1面向对象的概念83
5.1.1类的概念83
5.1.2类的定义83
5.1.3类对象、构造函数和析构函数87
5.2定义和访问类成员89
5.2.1字段90
5.2.2属性92
5.2.3方法成员97
5.3综合实验101
[=BW(]目录[=]第6章面向对象提高116
本章导引116
6.1继承117
6.1.1继承的语法117
6.1.2派生类的构造函数126
6.2多态128
6.2.1用virtual和override实现多态128
6.2.2使用new重写派生类中的方法132
6.3抽象类、密封类与接口133
6.3.1抽象类133
6.3.2密封类134
6.3.3接口134
6.4base和this关键字137
6.4.1base关键字137
6.4.2this关键字138
6.5综合实验139
第7章集合和泛型140
本章导引140
7.1ArrayList140
7.2栈141
7.3队列143
7.4字典和散列表144
7.5泛型144
7.6List145
7.7自定义泛型类146
7.8改进的控制台21点游戏147
第8章错误和异常处理149
项目导引149
8.1Visual Studio中的调试150
8.2异常类的定义和使用153
8.2.1异常基类(Exception)153
8.2.2异常类153
8.2.3抛出异常154
8.2.4捕捉异常154
8.2.5自定义异常类158
8.2.6异常属性160
第2篇Windows编程篇
第9章Windows窗体和控件163
本章导引163
9.1Windows编程基础164
9.1.1创建一个Windows应用程序164
9.1.2Windows窗体167
9.2窗体控件172
9.2.1窗体控件概述172
9.2.2Label控件173
9.2.3TextBox控件174
9.2.4Button控件176
9.2.5RadioButton177
9.2.6CheckBox控件178
9.2.7GroupBox和Panel控件180
9.2.8ListBox和ComboBox控件180
9.2.9ImageList控件182
9.2.10ListView控件182
9.2.11TreeView控件183
9.2.12滚动类控件185
9.2.13ProgressBar185
9.2.14Timer控件185
9.2.15日历控件DateTimePicker186
9.2.16PictureBox控件187
9.3Windows版21点游戏界面控件实现189
9.4窗体的菜单193
9.4.1菜单控件MenuStrip193
9.4.2ContextMenuStrip195
9.5鼠标键盘事件195
9.5.1鼠标事件195
9.5.2键盘操作198
9.6SDI和MDI应用程序199
9.7通用对话框203
9.7.1消息对话框203
9.7.2OpenFileDialog控件204
9.7.3SaveFileDialog控件206
9.7.4FontDialog控件206
9.7.5ColorDialo控件208
9.7.6FolderBrowserDialog控件209
9.8综合实验210
第10章GDI+214
本章导引214
10.1图形绘制中的概念215
10.1.1Graphics类215
10.1.2坐标系统216
10.1.3颜色、画笔、画刷和字体216
10.2线条的绘制219
10.3填充图形的绘制221
10.4位图处理221
10.5综合实验222
第11章部署Windows应用程序225
本章导引225
11.1部署226
11.1.1ClickOnce部署226
11.1.2Windows nstaller部署226
11.2部署Windows应用程序226
11.3创建安装包228
11.4综合实验229
第3篇数据访问篇
第12章文件系统数据241
本章导引241
12.1文件流242
12.1.1FileStream对象242
12.1.2用文件流读写文件243
12.2对文件的操作245
12.3对文件夹的操作248
12.4综合实验250
第13章XML255
本章导引255
13.1XML文档简介256
13.2序列化XML文档256
13.2.1对象序列化的用途256
13.2.2使用XmlSerializer类将对象序列化为XML格式256
13.3综合实验260
第14章ADO.NET265
本章导引265
14.1ADO.NET概述266
14.2ADO.NET的结构267
14.2.1ADO.NET对象模型267
14.2.2数据提供者268
14.2.3数据集(DataSet)269
14.3SQL Server数据库中ADO.NET应用详解270
14.3.1使用数据对象操作数据库270
14.3.2使用GridView控件操作数据库275
14.4综合实验283
第15章网络通信285
本章导引285
15.1网络通信模式与网络协议286
15.1.1早期的数据通信模型286
15.1.2C/S模型286
15.1.3B/S模型286
15.1.4TCP/IP网络协议287
15.2进程与线程288
15.2.1进程与线程的基本概念288
15.2.2进程管理(Process类)289
15.2.3线程管理(Treads类)290
15.3TCP应用编程291
15.3.1TCP应用编程概述291
15.3.2TcpListener类与TcpClient类292
15.3.3TCP应用编程的一般步骤295
15.3.4TCP的无消息边界问题295
15.4综合实验297
第4篇实战篇
第16章网络对战游戏的开发309
本章导引309
16.1项目构思310
16.1.1用例模型310
16.1.2描述用例311
16.1.3用户界面设计313
16.2项目设计316
16.2.1领域模型316
16.2.2分析模型319
16.2.3设计模型322
16.2.4网络对站游戏解决方案326
16.3项目实施327
16.3.1项目实施的流程327
16.3.2程序设计语言的选择327
16.3.3编程的基本原则328
16.3.4网络对战游戏开发规范330
16.3.5网络对战游戏实现技术要点338
16.4项目运行373
16.4.1单元测试373
16.4.2集成测试374
16.4.3系统测试375
16.4.4验收测试375
附录A教学设计与实施方法376
附录B考核方式379
本教材的编写有如下特点:
(1)一体化地构建教材中的实验体系。以一个21点游戏贯穿,将该项目中的各个功能分解到各章节中,形成章节实验,并且所有实验案例代码都配在了光盘中,便于学生阅读理解。
(2)教材编写的基本风格,是以提出问题——分析问题——解决问题的思路进行的。语言通俗易懂、思路清晰、层次鲜明,便于逐步培养和提高学生分析问题和解决问题的能力。
(3)结合CDIO教育理念,本课程重点培养学生的8个能力(见教材总体设计与教学建议),每一章对应的具体能力要求、教学要求、教学重点以及教学难点等均在每一章开头列出,希望读者在学习时加以注意。(4)教材最后的实战篇旨在帮助学生进一步提高对面向对象编程和项目的理解,增强学生的实践能力。