1. 为什么要写本书
C#(C Sharp)是微软公司在2000年6月发布的一种全新的编程语言,是为.NET Framework量身定做的程序语言。C#拥有C/C++的强大功能以及Visual Basic简易使用的特性,是一个基于组件导向(Componentoriented)和对象导向(Objectoriented)的高级程序语言,包括诸如单一继承、界面处理、编译生成中间代码再运行的过程; 是微软公司.NET Windows网络框架的主角,程序员可以快速地编写各种基于Microsoft .NET平台的应用程序。
作者从事计算机专业教学工作10余年,从事C#程序设计10余年,参与和组织实施了十几项C#程序的设计和开发。市场上关于C#学习的书籍很多,但相当一部分对于学校的教学开展不对位。作者在充分调研当前高校C#教学效果和软件公司需求差异的基础之上,总结自己的教学实践和应用实践,精心编写了此书,此书已在本校范围内使用了3届,期间多次改版易稿,完善纰漏瑕疵,力求与时俱进。本书内容既能满足当前教学需要,激发学生兴趣,也能对学生日后走上C#相关岗位,满足社会需要奠定基础。
2. 平台说明
本书中的解决方案和上机练习项目都是在Visual Studio .NET 2013环境下编码运行的,VS 2013自带的.NET Framework 4.5和其他版本之间存在一些差异,所以由于运行平台版本不同,可能会出现编译错误,可自行根据提示调试解决,也可直接升级到.NET Framework 4.5。
3. 运行机制
C#所开发的程序源代码并不是编译成能够直接在操作系统上执行的二进制本地代码。与Java类似,它被编译成为中间代码,然后通过.NET Framework的虚拟机(被称为通用语言运行时,CLR)执行。所有的C#编程语言都被编译成这种被称为MSIL(Microsoft Intermediate Language)的中间代码,因此虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名,但是实际上,如果计算机上没有安装.NET Framework,那么这些程序将不能够被执行。在程序执行时,.NET Framework将中间代码翻译成二进制机器码,从而使它得到正确的运行。最终的二进制代码被存储在一个缓冲区中,所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。因此如果一个.NET程序启动后关闭前第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。
4. 内容特色
程序开发的实质是利用计算机高级语言对数据集进行的封装性读写,本书切实遵循这一重要实质,从内容和过程上保证了程序开发的完整性。首先讲解了C#语言的语法基础,这是了解语言和使用语言的第一步; 然后分析了C#语言的编程过程和编程过程中使用的相关调试方式和工具,帮助引导学习者尝试完成各种基本操作,并在理论讲解的同时给出了大量的可行实例,有利于提高学习效率和掌握程度; 最后通过实例讲解C#语言操作各种数据集的方法和过程,阐述程序开发的精髓和知识储备体系。
为了方便读者学习和教学人员的工作,本书的所有源码和课件可以从网上直接下载。
5. 结构安排
本书根据C#程序设计学习的内容和技术特点,分为三部分,共19章,从C#的语言基础、编程实践、具体应用进行了讲解。
第1部分C#基础包含6章,主要介绍C#的运行平台.NET Framework,常用的预定义数据类型、面向对象的核心类与对象,以及类的继承、多态等特性,同时也就事件的触发、绑定和执行过程进行了阐述。
第2部分C#编程包含8章,从多个角度分析C#的编程过程,讲述程序的三大组成结构、正则表达式和泛型在程序中的使用、LINQ查询对内存数据的操作,以及编程过程中排除故障的异常处理机制、程序诊断和调试工具等知识。
第3部分C#应用包含5章,针对C#在程序开发中的具体应用展开,介绍C#访问文件、XML、数据库的方法和过程,并通过两个C#应用实例为后续学习做了铺垫。
6. 读者对象
高校计算机专业学习面向对象程序设计语言的学生; 爱好C#的程序设计人员。
7. 致谢
感谢门玉梅和张雪梅两位主任对本书的支持,感谢她们给本书提供的建设性意见。
限于编者的水平和经验,加之时间比较仓促,疏漏或者错误之处在所难免,敬请读者批评指正。
编者
2015年1月于石家庄
第1部分C#基础
第1章.NET Framework和C#语言
1.1.NET Framework
1.1.1公共语言运行时
1.1.2Framework类库
1.1.3并行计算平台
1.1.4动态语言运行时
1.2Visual Studio开发环境
1.3编写第一个程序
1.4C#程序的组成结构和类结构
小结
作业题
上机练习
第2章理解C#类型
2.1C#类型
2.2预定义类型
2.2.1常用的值类型
2.2.2字符串类型
2.2.3空字符串
2.2.4字符串操作
2.2.5使用StringBuilder创建可变的字符串
2.3类型格式化
2.3.1标准格式字符串
2.3.2自定义格式字符串
2.3.3复合格式化
2.4C#语言中的数据
2.5默认值
2.6null和可以为null的类型
2.7类型强制转换
2.8运算符
2.8.1算术运算符和赋值运算符
2.8.2关系运算符
2.8.3逻辑运算符
2.8.4条件运算符
小结
作业
上机练习
第3章C#类和对象
3.1面向对象编程
3.2面向组件编程
3.3C#类
3.4作用域和声明空间
3.4.1访问性
3.4.2字段和常量
3.4.3属性
3.4.4方法
3.4.5实例化类
3.5嵌套类
3.6分部类
3.7静态类
3.8对象初始值设定项
小结
作业
上机练习
第4章继承、多态、接口和抽象类
4.1继承和多态
4.1.1类的多态性
4.1.2处理继承而来的成员
4.2抽象类和抽象成员
4.3接口
小结
作业
上机练习
第5章枚举类型和结构
5.1枚举类型
5.1.1普通枚举
5.1.2位标志枚举
5.2结构
5.2.1方法
5.2.2构造和初始化
小结
作业
上机练习
第6章事件及其处理
6.1理解事件
6.2订阅和取消订阅
6.3匿名方法的展开讨论
6.4引发事件
小结
作业
上机练习
第2部分C#编程
第7章程序控制流程
7.1选择语句
7.1.1if语句
7.1.2switch语句
7.2迭代语句
7.2.1while语句
7.2.2do…while语句
7.2.3for语句
7.2.4foreach语句
7.3跳转语句
7.3.1break语句
7.3.2continue语句
7.3.3return语句
小结
作业
上机练习
第8章正则表达式
8.1正则表达式概述
8.2C#中的正则表达式
8.2.1使用正则表达式验证字符串
8.2.2使用正则表达式搜索字符串
小结
作业
上机练习
第9章数组和集合
9.1数组
9.1.1数组索引
9.1.2数组初始化
9.1.3System.Array类
9.2索引器
9.3泛型集合
9.3.1列表
9.3.2Collection <T>
9.3.3字典
9.3.4集
9.3.5堆栈和队列
9.4集合初始值设定项
小结
作业
上机练习
第10章异常处理错误
10.1理解异常
10.2引发异常
10.3处理异常
10.4重新引发捕获的异常
10.5溢出和整型算术运算
小结
作业
上机练习
第11章泛型的使用
11.1为何使用泛型
11.1.1理解泛型类型参数
11.1.2泛型类型的默认值
11.2使用泛型方法
11.3创建泛型类
11.4结合使用泛型和数组
11.5得到泛型类型的类型
小结
作业
上机练习
第12章LINQ查询表达式
12.1LINQ简介
12.1.1选择数据
12.1.2对数据进行分组和排序
12.1.3连接数据
12.2标准查询运算方法
12.3Lambda
12.4延迟执行
小结
作业
上机练习
第13章程序诊断处理
13.1有条件地编译代码块
13.2确定一个进程是否停止响应
13.3捕获进程的标准输出
13.4查看运行环境
小结
作业
上机练习
第14章在Visual Studio环境中调试程序
14.1注释代码
14.2编译错误和运行错误
14.3在Visual Studio中调试程序
14.3.1变量窗口
14.3.2使用数据提示
14.3.3使用即时窗口
14.3.4理解断点
14.3.5控制程序执行
14.4可视化数据
小结
作业
上机练习
第3部分C#应用
第15章使用文件和流
15.1文件和目录
15.1.1使用路径
15.1.2特殊目录
15.1.3DirectoryInfo类和FileInfo类
15.1.4Directory类和File类
15.2读写数据
15.2.1二进制文件
15.2.2缓冲流
15.2.3文本文件
15.2.4使用File类读写数据
小结
作业
上机练习
第16章使用XML
16.1理解XML DOM
16.2使用LINQ to XML
16.2.1XDocument类
16.2.2XElement类和XAttribute类
16.2.3XName和XNamespace
16.3选择和查询XML
16.4修改XML
小结
作业
上机练习
第17章使用数据库
17.1先决条件
17.2理解ADO.NET
17.3理解LINQ to ADO.NET
17.3.1LINQ to DataSet
17.3.2LINQ to SQL
17.4关于DataTable的常用操作
小结
作业
上机练习
第18章Windows Form应用程序
18.1创建Windows Form程序
18.2Windows Form的工具箱
18.3计算器的实现过程
18.3.1窗体布局
18.3.2为按钮添加事件
小结
作业
上机练习
第19章Web应用程序
19.1ASP.NET概述并创建第一个ASP.NET应用程序
19.2ASP.NET应用程序相关的知识
19.2.1控件与工具箱
19.2.2Web.config
19.2.3IIS服务器
19.3留言板的实现过程
19.3.1数据库设计
19.3.2Web.config配置
19.3.3系统文件结构
19.3.4项目实现
小结
作业
上机练习
编后语
参考文献