
C#程式设计教程(第2版)(2014年清华大学出版社出版的图书)
《C#程式设计教程(第2版)》是由江红、余青松编着,2014年清华大学出版社出版的“十二五”普通高等教育本科国家级规划教材、21世纪高等学校计算机基础实用规划教材。该教材可作为高等学校电脑程式设计教程,同时也可作为程式设计开发者、爱好者的自学参考书。
全书共分3部分,22章,主要内容包括:C#语言基础、面向对象编程、结构、枚举、泛型、特性、语言集成查询、多执行绪编程技术、数值日期和字元串处理、档案和流输入输出、集合、资料库访问、Windows窗体应用程式、WPF应用程式、ASP.NET Web应用程式设计等。
基本介绍
- 书名:C#程式设计教程(第2版)
- 作者:江红、余青松
- ISBN:9787302360438
- 类别:“十二五”普通高等教育本科国家级规划教材
- 页数:473页
- 出版社:清华大学出版社
- 出版时间:2014年6月1日
- 装帧:平装
- 开本:16开
- 字数:811千字
- CIP核字号:2014065915
成书过程
修订情况
该教材由江红、余青松编着,编写分工如下:第1~第13章由江红编写,第14~第22章以及附录由余青松编写。
出版工作
2014年6月1日,该教材由清华大学出版社出版。
责任编辑 | 封面设计 | 责任校对 | 责任印製 |
---|---|---|---|
魏江江、赵晓宁 | 常雪影 | 梁毅 | 沈露 |
内容简介
该教材基于VisualStudio2013/.NETFramework4.5.1开发和运行环境,阐述C#5.0语言的基础知识,以及使用C#5.0语言的实际开发套用实例。全书内容共分为3部分,22章,第1部分阐述C#面向对象程式设计语言的基础知识,包括C#语言概述、C#语言基础、面向对象编程、结构、枚举、泛型、特性、语言集成查询、多执行绪编程技术;第2部分阐述基于.NETFramework公共类库的程式设计,包括数值日期和字元串处理、档案和流输入输出、集合、资料库访问;第3部分介绍C#应用程式设计技术,包括Windows窗体应用程式、WPF应用程式、ASP.NETWeb应用程式设计。
教材目录
第1部分C#面向对象程式设计语言的基础知识第1章C#语言介绍 1.1C#语言概述 1.1.1C#语言简介 1.1.2C#特点和开发套用範围 1.2C#语言的编译和运行环境 1.2.1C#语言与.NET Framework 1.2.2C#的运行环境 1.2.3C#的开发环境 1.2.4Visual Studio集成开发环境 1.3使用记事本创建简单的C#程式 1.3.1Hello World程式 1.3.2代码分析 1.3.3编译和运行结果 1.4基于集成开发环境创建简单的C#程式 1.4.1创建Visual C#控制台应用程式 1.4.2编辑Visual C#原始码档案 1.4.3编译和运行调试程式 1.5C#程式的结构和书写规则 1.5.1C#程式的基本结构 1.5.2C#程式的书写规则 1.6类型的声明和使用 1.6.1类的声明 1.6.2对象的创建和使用 1.6.3Main方法 1.7命名空间 1.7.1定义命名空间 1.7.2访问命名空间 1.7.3命名空间别名 1.7.4全局命名空间 1.7.5命名空间举例 1.7.6外部别名 1.8注释 1.8.1单行注释 1.8.2多行注释 1.8.3内联注释 1.8.4XML文档注释 1.9控制台输入和输出 1.9.1System.Console类 1.9.2格式化输出 第2章数据类型、变数和常量 2.1标识符及其命名规则 2.1.1标识符 2.1.2保留关键字 2.1.3命名约定 2.2变数 2.2.1变数的分类 2.2.2变数的声明 2.2.3变数的赋值和引用 2.2.4变数的作用域 2.3常量 2.3.1文本常量 2.3.2用户声明常量 2.4数据类型 2.4.1类型系统 2.4.2值类型 2.4.3引用类型 2.4.4装箱和拆箱 2.4.5预定义数据类型 2.5整型数据类型 2.5.1预定义整数类型 2.5.2整数类型的主要成员 2.5.3整型常量 2.5.4整型变数的声明和使用 2.6浮点型数据类型 2.6.1浮点类型 2.6.2浮点类型的主要成员 2.6.3浮点数类型常量 2.6.4浮点变数的声明和使用 2.7decimal数据类型 2.7.1decimal类型 2.7.2System.Decimal的主要成员 2.7.3decimal常量 2.7.4decimal变数的声明和使用 2.8布尔数据类型 2.8.1bool类型 2.8.2System. Boolean的主要成员 2.8.3布尔变数的声明和使用 2.9字元数据类型 2.9.1字元类型 2.9.2System.Char类成员 2.9.3字元常量 2.9.4字元变数的声明和使用 2.10可以为null的类型 2.11object类型 2.12string数据类型 2.13类型转换 2.13.1隐式转换(自动转换) 2.13.2显式转换(强制转换) 2.13.3Convert类提供的类型转换方法 2.13.4溢出检查和checked关键字 2.14动态数据类型 2.14.1动态语言运行时 2.14.2dynamic类型 第3章语句、运算符和表达式 3.1语句 3.1.1C#语句的组成 3.1.2C#语句的示例 3.1.3C#语句的使用 3.2运算符 3.2.1算术运算符 3.2.2关係和类型测试运算符 3.2.3逻辑运算符 3.2.4赋值运算 3.2.5字元串运算符 3.2.6位运算符 3.2.7条件运算符 3.2.8其他运算符 3.2.9运算符优先权 3.3表达式 3.3.1表达式的组成 3.3.2表达式的书写规则 3.3.3表达式的示例 第4章程式流程和异常处理 4.1顺序结构 4.2选择结构 4.2.1if语句 4.2.2switch语句 4.3循环结构 4.3.1for循环 4.3.2while循环 4.3.3do…while循环 4.3.4foreach循环 4.3.5循环的嵌套 4.4跳转语句 4.4.1goto语句 4.4.2break语句 4.4.3continue语句 4.4.4return语句 4.5异常处理 4.5.1错误和异常 4.5.2异常处理概述 4.5.3内置的异常类 4.5.4自定义异常类 4.5.5引发异常 4.5.6捕获处理异常try…catch…finally 第5章数组和指针 5.1数组 5.1.1一维数组 5.1.2多维数组 5.1.3交错数组 5.1.4数组的基本操作和排序 5.1.5作为对象的数组 5.2指针和不安全代码 5.2.1不安全代码 5.2.2指针 第6章类和对象 6.1面向对象概念 6.1.1对象的定义 6.1.2封装 6.1.3继承 6.1.4多态性 6.2类的声明 6.2.1声明类的基本语法 6.2.2类的访问修饰符 6.3创建和使用对象 6.3.1对象的创建和使用 6.3.2对象的比较 6.4分部类 6.4.1分部类的声明 6.4.2分部类的套用 6.5System.Object类和通用方法 6.5.1System.Object类 6.5.2System.Object类的通用方法 6.6对象的生命周期 6.6.1对象的创建 6.6.2对象的使用 6.6.3对象的销毁 第7章类成员 7.1类的成员 7.1.1数据成员和函式成员 7.1.2静态成员和实例成员 7.1.3this关键字 7.1.4类成员的访问修饰符 7.2栏位和常量 7.2.1栏位的声明和访问 7.2.2实例栏位和静态栏位 7.2.3常量栏位 7.2.4只读栏位 7.2.5可变栏位 7.3方法 7.3.1方法的声明和调用 7.3.2参数的传递 7.3.3方法的重载 7.3.4实例方法和静态方法 7.3.5分部方法 7.3.6外部方法 7.3.7递归方法 7.3.8叠代器方法 7.3.9叠代器对象 7.4属性 7.4.1属性的声明和访问 7.4.2实例属性和静态属性 7.4.3自动实现的属性 7.5索引器 7.5.1索引器的声明和访问 7.5.2索引器的重载 7.6运算符重载 7.6.1运算符重载 7.6.2转换运算符 7.7构造函式 7.7.1实例构造函式 7.7.2私有构造函式 7.7.3静态构造函式 7.8析构函式 7.9嵌套类 7.9.1嵌套类的声明 7.9.2嵌套类和包含类的关係 7.9.3嵌套类的访问 第8章继承和多态 8.1继承和多态的基本概念 8.1.1继承和多态 8.1.2继承的类型 8.1.3继承的层次关係 8.2继承 8.2.1派生类 8.2.2base关键字 8.2.3构造函式的调用 8.2.4类成员的继承 8.2.5类成员的隐藏 8.2.6虚方法和隐藏方法 8.2.7虚方法和重写方法 8.3抽象类和抽象方法 8.3.1抽象类 8.3.2抽象方法 8.4密封类和密封方法 8.4.1密封类 8.4.2密封方法 8.5接口 8.5.1接口声明 8.5.2接口成员 8.5.3接口实现 8.5.4分部接口 8.5.5接口继承 8.6多态 8.6.1多态的概念 8.6.2通过继承实现多态性 8.6.3通过方法重载实现多态性 8.6.4通过方法重写实现多态性 8.6.5多态性综合举例 第9章委託和事件 9.1委託 9.1.1委託的声明 9.1.2委託的实例化和调用 9.1.3匿名方法委託 9.1.4多播委託 9.1.5委託的异步调用 9.1.6委託的兼容性 9.2事件 9.2.1事件处理机制 9.2.2事件的声明和引发 9.2.3事件的订阅和取消 9.2.4静态事件和实例事件 9.2.5.NET Framework事件模型 9.2.6综合举例: 事件实现的步骤 第10章结构和枚举 10.1结构 10.1.1结构概述 10.1.2结构的声明 10.1.3结构的调用 10.1.4分部结构 10.1.5结构成员 10.1.6嵌套结构 10.2枚举 10.2.1枚举概述 10.2.2枚举声明 10.2.3枚举的使用 10.2.4Flags枚举 10.2.5枚举的运算和操作 第11章泛型 11.1泛型的基本概念 11.1.1引例ArrayList 11.1.2引例List<T> 11.1.3泛型的概念 11.2泛型的定义 11.2.1泛型的定义 11.2.2开放式泛型类型和封闭式泛型类型 11.2.3泛型类型参数 11.2.4泛型类型参数的约束 11.3泛型类 11.3.1泛型类的声明和使用 11.3.2泛型类的继承规则 11.4泛型接口 11.4.1泛型接口的声明和使用 11.4.2泛型接口的继承和实现规则 11.5泛型结构 11.6泛型方法 11.6.1泛型方法的声明和使用 | 11.6.2泛型方法的设计规则 11.7泛型委託和泛型事件 11.7.1泛型委託 11.7.2泛型事件 11.8default关键字 11.9协变和逆变 11.9.1泛型类型转换 11.9.2泛型委託的协变和逆变 11.9.3泛型接口的协变和逆变 第12章特性 12.1特性概述 12.2特性的使用 12.3预定义通用特性类 12.3.1ConditionalAttribute类 12.3.2ObsoleteAttribute类 12.3.3AttributeUsageAttribute类 12.3.4调用方信息特性类 12.3.5全局特性 12.4自定义特性类 12.5使用反射访问特性 第13章语言集成查询 13.1相关语言要素 13.1.1初始值设定项 13.1.2匿名类型 13.1.3Lambda表达式(匿名函式) 13.1.4扩展方法 13.2LINQ基本操作 13.2.1LINQ基本概念 13.2.2LINQ查询操作概述 13.2.3获取数据源 13.2.4创建查询 13.2.5执行查询 13.3标準查询运算符 13.3.1数据排序 13.3.2数据筛选 13.3.3数据投影 13.3.4数据分组 13.3.5联接运算 13.3.6数据分区 13.3.7限定运算 13.3.8聚合运算 13.3.9集合运算 13.3.10生成运算 13.3.11元素操作 13.3.12串联运算 13.3.13相等运算 13.3.14数据类型转换 13.4LINQ to Objects 13.4.1LINQ to Objects概述 13.4.2LINQ和字元串 13.4.3LINQ和档案目录 第14章执行绪、并行和异步处理 14.1执行绪处理概述 14.1.1进程和执行绪 14.1.2执行绪的优缺点 14.2创建多执行绪应用程式 14.2.1C#应用程式主执行绪 14.2.2创建和启动新执行绪 14.3执行绪状态和生命周期 14.3.1执行绪状态和生命周期 14.3.2Thread类 14.3.3执行绪的启动、终止、挂起和唤醒 14.3.4休眠(暂停)执行绪Sleep() 14.3.5执行绪让步Yield() 14.3.6执行绪加入Join() 14.3.7执行绪中断Interrupt() 14.3.8执行绪终止/销毁Abort() 14.4前台执行绪和后台执行绪 14.5执行绪优先权和执行绪调度 14.6执行绪同步和通信 14.6.1执行绪同步处理 14.6.2使用lock语句同步代码块 14.6.3使用监视器同步代码块 14.6.4使用MethodImplAttribute特性实现方法同步处理 14.6.5使用SynchronizationAttribute特性实现类同步处理 14.6.6同步事件和等待句柄 14.6.7使用Mutex同步代码块 14.7执行绪池 14.7.1执行绪池的基本概念 14.7.2创建和使用执行绪池 14.8定时器Timer 14.9并行处理 14.9.1任务并行库 14.9.2隐式创建和运行任务 14.9.3显式创建和运行任务 14.9.4任务的互动操作 14.9.5从任务中返回值 14.9.6数据并行处理 14.10异步处理 14.10.1委託的异步调用 14.10.2async和await关键字 第2部分.NET Framework类库基本套用 第15章数值、日期和字元串处理 15.1数学函式 15.1.1Math类和数学函式 15.1.2Random类和随机函式 15.2日期和时间处理 15.2.1DateTime结构 15.2.2TimeSpan结构 15.2.3日期格式化字元串 15.3字元串处理 15.3.1String类 15.3.2StringBuilder类 15.3.3字元编码 15.4正则表达式 15.4.1正则表达式语言 15.4.2正则表达式类 15.4.3正则表达式示例 第16章档案和流I/O 16.1档案和流操作概述 16.2磁碟、目录和档案的基本操作 16.2.1磁碟的基本操作 16.2.2目录的基本操作 16.2.3档案的基本操作 16.3文本档案的读取和写入 16.3.1文本档案的写入(StreamWriter类) 16.3.2文本档案的读取(StreamReader类) 16.4二进制档案的读取和写入 16.4.1二进制档案的写入(BinaryWriter类) 16.4.2二进制档案的读取(BinaryReader类) 16.5随机档案访问 16.6通用I/O流类 第17章集合和数据结构 17.1C#集合和数据结构概述 17.2列表类集合类型 17.2.1数组列表ArrayList 17.2.2列表List<T> 17.2.3双向鍊表LinkedList<T> 17.3字典类集合类型 17.3.1哈希表Hashtable 17.3.2字典Dictionary<TKey, TValue > 17.3.3排序列表SortedList 17.3.4泛型排序列表SortedList<TKey, TValue> 17.3.5排序字典SortedDictionary<TKey, TValue> 17.4伫列集合类型(Queue) 17.5堆叠集合类型 17.6散列集集合类型(HashSet<T>) 17.7位集合 17.8专用集合 第18章资料库访问 18.1ADO.NET概述 18.1.1ADO.NET的基本概念 18.1.2ADO.NET的结构 18.1.3.NET Framework数据提供程式 18.1.4ADO.NET DataSet 18.2使用ADO.NET连线和运算元据库 18.2.1使用数据提供程式访问资料库的步骤 18.2.2範例资料库Northwnd.mdf 18.2.3查询资料库表数据 18.2.4插入资料库表数据 18.2.5更新资料库表数据 18.2.6删除资料库表数据 18.2.7使用存储过程访问资料库 18.3使用DataAdapter和DataSet访问资料库 18.3.1使用DataAdapter和DataSet访问资料库的步骤 18.3.2查询资料库表数据 18.3.3维护资料库表数据 第3部分C#应用程式开发 第19章Windows窗体应用程式 19.1Windows窗体应用程式 19.1.1Windows窗体应用程式概述 19.1.2创建Windows窗体应用程式的一般步骤 19.1.3窗体和控制项概述 19.2常用的Windows窗体控制项 19.2.1标籤、文本框和命令按钮 19.2.2单选按钮、複选框和分组 19.2.3列表选择控制项 19.2.4图形存储和显示控制项 19.2.5Timer控制项 19.3通用对话框 19.3.1OpenFileDialog对话框 19.3.2SaveFileDialog对话框 19.3.3FontDialog对话框 19.3.4通用对话框套用举例 19.4选单和工具列 19.4.1MenuStrip控制项 19.4.2ContextMenuStrip控制项 19.4.3ToolStrip控制项 19.4.4选单和工具列套用举例 19.5多重窗体 19.5.1添加新窗体 19.5.2调用其他窗体 19.5.3多重窗体套用举例 19.6多文档界面 19.6.1创建MDI父窗体 19.6.2创建MDI子窗体 19.6.3处理MDI子窗体 19.7图形绘製 19.7.1GDI+图形绘製概述 19.7.2绘製字元串 19.7.3绘製图形 第20章WPF应用程式 20.1WPF应用程式概述 20.1.1WPF简介 20.1.2WPF应用程式的构成 20.2创建WPF应用程式 20.2.1创建简单的WPF应用程式 20.2.2WPF应用程式布局 20.2.3WPF应用程式常用控制项 20.3WPF应用程式与图形和多媒体 20.3.1图形和多媒体概述 20.3.2图形、图像、画笔和点阵图效果 20.3.3多媒体 20.3.4动画 第21章ASP.NET Web应用程式 21.1ASP.NET Web应用程式 21.1.1ASP.NET Web应用程式概述 21.1.2创建ASP.NET Web应用程式 21.2ASP.NET Web页面 21.2.1ASP.NET Web页面概述 21.2.2创建ASP.NET页面 21.3ASP.NET Web伺服器控制项 21.3.1ASP.NET Web伺服器控制项概述 21.3.2使用标準伺服器控制项创建Web页面 21.4验证伺服器控制项 21.4.1验证伺服器控制项概述 21.4.2使用验证伺服器控制项创建Web页面 21.5数据伺服器控制项 21.5.1数据伺服器控制项概述 21.5.2使用数据伺服器控制项创建Web页面 21.6使用ADO.NET连线和运算元据库 21.7ASP.NET页面会话状态和页面导航 21.7.1ASP.NET Web应用程式上下文 21.7.2ASP.NET Web应用程式事件 21.7.3ASP.NET Web页面导航 21.8ASP.NET Web应用程式的布局和导航 21.8.1ASP.NET Web母版页 21.8.2ASP.NET Web导航控制项 21.8.3套用举例: 设计ASP.NET Web站点 21.9ASP.NET主题和外观概述 21.9.1ASP.NET主题和外观 21.9.2定义主题 21.9.3定义外观 21.9.4定义CSS样式 21.9.5在页面中使用主题 21.9.6套用举例: 使用ASP.NET主题和外观自定义Web站点 第22章综合套用案例 22.1多视窗文本编辑器系统设计 22.1.1系统基本功能 22.1.2功能模组设计 22.1.3系统的实现 22.2ASP.NET网上书店系统的设计 22.2.1系统总体设计 22.2.2资料库设计 22.2.3功能模组设计 22.2.4系统的实现 附录 附录A.NET Framework概述 A1 .NET Framework的概念 A1.1公共语言运行时 A1.2.NET Framework类库 A2.NET Framework的功能特点 A3.NET Framework环境 A4.NET Framework的主要版本 附录BC#编译器和预处理器指令 B1C#编译器概述 B2C#编译器选项 B3C#预处理器指令 附录CVisual Studio快速入门 C1集成开发环境(IDE)界面 C2创建解决方案和项目 C3设计器/编辑器 C4生成和调试工具 C5安装和部署工具 C6帮助系统 附录DC#关键字和上下文关键字 D1关键字 D2上下文关键字 附录E格式化字元串 E1複合格式设定 E2複合格式字元串 E3数字格式字元串 E4标準日期和时间格式字元串 附录FXML文档注释 附录GASCII码錶 附录H程式集、应用程式域和反射 H1程式集 H1.1程式集概述 H1.2创建程式集 H2应用程式域 H2.1应用程式域概述 H2.2创建应用程式域 H3反射 H3.1反射概述 H3.2查看类型信息 H3.3动态载入和使用类型 参考文献 |
(注:目录排版顺序为从左列至右列)
教学资源
- 配套教材
该教材配有实验指导教材——《C#程式设计实验指导与习题测试(第2版)》。
书名 | 书号 | 出版社 | 出版时间 | 作者 |
---|---|---|---|---|
《C#程式设计实验指导与习题测试(第2版)》 | 9787302360643 | 清华大学出版社 | 2014.08.01 | 余青松、江红 |
- 课程资源
该教材还提供PPT课件、源码、期末试卷和教学大纲。
教材特色
- 作者结合程式设计、开发及授课经验,选择一定数量的实例,介绍了C#程式设计语言,让读者能够掌握程式设计的理论和套用;
- 理论与实践相结合,阐述程式设计的基本原理,使读者不仅掌握理论知识,同时掌握程式设计的实用案例;
- 该教材提供了思考与实践练习,让读者从实践中巩固和套用所学的知识。
作者简介
江红,女,博士,华东师範大学数据科学与工程学院、计算机科学与软体工程学院副教授,研究方向为现代信息系统及其开发技术。
余青松,男,华东师範大学数据科学与工程学院、计算机科学与软体工程学院计算中心高级工程师,研究方向为Web套用技术、系统分析与集成、智慧型数据、机器学习。