精通C#(中文第六版)_扫描版

所需积分/C币:36 2016-10-11 26.6MB PDF
评分

精通C#(中文第六版)_扫描版
前言3 第5章:封装 从这一章开始,我们会研究如何使用C#编程语言进行面向对象编程。在探讨了oOP的支柱概念 (封装、继承和多态)之后,会介绍如何使用构造函数、属性、静态成员、常量以及只读字段来构建 健壮的类类型。我们最后会研究分部类型定义、初始化对象的语法和自动属性。 第6章:继承和多态 这一章研究OOP其余的支柱概念(继承和多态).通过它,我们就能构建相关类类型的家族。我 们还会研究虚方法、抽象方法(和抽象基类)以及多态接口的本质。这一章最后介绍NET平台最高 层基类 System Object的作用。 第7章:结构化异常处理 这一章的关键在于讨论如何使用结构化异常处理来处理运行时的异常情况。你不但可以学到 C#控制这些异常的关键字(txy、 catch、 throw和 finally),还将了解应用程序级异常和系统级异 常的区别。另外,该章还讲述了 Visual studio中不同的调试工具,这些工具能让你调试那些被忽 略的异常。 第8章:按口 这一章的内容建立在对面向对象开发的理解之上,涵盖了基于接口的编程主题。你将学到如何定 义类和支持多行为的结构,如何在运行时发现这些行为,以及如何使用显式接口实现来选择性地隐藏 特定的行为。除了创建大量自定义接口外,还介绍了如何实现NET平台中的标准接口,以及使用这 些接门构建可以排序、复制、枚举和比较的对象 第四部分:高级C#编程结构 这部分介纲了许多重要的高级技术,能让你对C语言有更深的理解。通过对接口和委托的学习, 你将会了解NET类型系统;同时你会学到泛型的作用,初步了解LⅠNQ,以及更多C#高级特性(例 如扩展方法、分部方法和指针操作) 第9章:集合与泛型 这一章首先研究泛型( generic)的概念。你将看到,泛型编程提供了一种创建类型和类型成员的 方式,它包含由调用者指定的变量占位符。简而言之,泛型编程大大加强了应用程序的性能和类型安 全。你不仅可以在 System. Collections. eneric命名空间中看到各种泛型,而且可以学习如何创建自 已的泛型方法和类型(有限制或没有限制) 第10章:委托、事件和 Lambda表达式 这一章的目的在于阐明委托( delegate)类型。可以简单地认为,一个NET委托就是指向应用程 序中其他方法的一个对象。使用这个类型,可以构建允许多个对象进行双向会话的系统。在分析了NET 委托的使用后,将介绍C#的 event关键字,使用这个关键字可以简化原始委托编程的操作。随后研究 C# Lambda操作符=),并探讨了委托、匿名方法和 Lambda表达式之间的联系。 第11章:高级C#语言特性 这一章介绍了许多高级的NET编程技术,这些技木能够让你对C#编程语言有更深的理解。例如 你将学到如何重载操作符、创建自定义类型转换例程(包括隐式的和显式的)、构建类型索引器并与 之交互,使用扩展方法、匿名类型、分部方法以及使用不安全的代码上下文来操作C排指针。 4前言 第12章: LINQ to object 这一章开始研究LNQ(语言集成查询),它可以用来构建强类型的查询表达式,并且可以把它应 用到很多LNQ目标来操作最广义的数据。我们还会学习把LINQ表达式应用到数据容器(例如,数 组、集合和自定义类型)的 LINQ to Object这对于本书其余部分所涉及的其他 LINQ API同样适用(如 LⅠ NQ to XML、 LINQ to DataSet、PLNQ和 LINQ to Entity 第13章:对象的生命周期 这一章分析了CLR如何使用NET垃圾收集器来管理内存。你将会了解应用程序根、对象产生和 ystemGC类型的作用。理解了这些之后,接下来学习可处置的对象〔通过 IDisposable接口)和终结 过程(通过 System0 bject Finalize(方法)这一章还将研究Lay<I类,它用来定义一个直到调用 者发出请求时才会分配的数据。你将看到,当你的程序不希望托管堆散乱不堪时,这个特性将有助于 确保堆的整洁。 第五部分:用,NET程序集编程 这一部分深入分析了NET程序集格式的细节。你不仅会学到如何部署和配置NET代码库,而且 会理解NET二进制映像的内部结构。这部分也阐述了NET特性的作用和运行时解析类型信息的作用 还介绍了动态语言运行时(DLR, Dynamic Language Runtime)和C# dynamic关键字的作用。后面的章 节分析了一些程序集相关的高级主题(如应用程序域、CL语法和在内存中构建程序集 第14章:NET程序集入门 从一个比较高的层次来看,程序集( assembly)是用于描述托管的·d或cxe二进制文件的 个术语,但是其真正内涵实际上远远不仅于此。通过这一章,你将学到单文件程序集和多文件程序 集的区别,以及如何构建和部署每一个实体;你还会学到如何利用基于XML的*cong文件和发布 策略程序集来配置私有的和共享的程序集。通过这些内容,你将看到GAC(全局程序集缓存)的内 部结构。 第15章:类型反射、晚期绑定和基于特性的编程 这一章通过 System Reflection命名空间,分析了运行时类型发现的过程,来继续探讨NET程序 集。使用这些类型,你能够创建一个可以实时读取程序集元数据的应用程序。该章还将介绍如何在运 行时使用晚期绑定来动态加载和创建类型。最后的主题是NET特性(包括标准的和自定义的)的作 用。为了说明每个主题的用法,该章最后将构造一个可扩展的 Windows fom应用程序。 第16章:动态类型和动态语言运行时 NET40引入了一个新的NET运行时环境,叫做动态语言运行时。使用DLR和C#2010 dynamic 关键字,可以定义直到运行时才真正处理的数据。这些特性可以显著地简化一些极其复杂的NET编 程任务。在这一章中,你将学习一些动态数据的实际用法,包括如何用简单的方式使用NET反射AP, 以及如何用最小的代价与遗留的COM库通信。 第17章:进程、应用程序域和对象上下文 既然你已经对程序集有了一定的了解,这一章将深入探讨加载的NET执行单元的组成。这一章 的目标是阐明进程、应用程序域和上下文边界的关系。该章所叙述的内容为第19章做了很好的铺垫 那一章讨论的是多线程应用程序的构造。 前言5 第18章:CL和动态程序集的作用 这一章有两个目的。在前半部分(大致)中,将会比之前章节更具体地介绍CIL的语法和语义, 余下的部分主要讲述 ystem. Ref1 ection Em命名空间的作用。使用这些类型,可以构建一个能在运 行时在内存中产生NET程序集的软件。正式地说,一个能在内存中定义并执行的程序集称为动态程 序集。 第六部分:NET基础类库 到本书的这一部分,你应该已经很好地掌握了C#语言以及NET程序集格式的细节。这一部分将 通过探索基础类库中的一些常用服务程序来讲授一些新的知识,包括多线程应用程序的创建、文件的 输人输出和利用 ADONET的数据库访问,通过wCF构造分布式应用程序以及构建使用了 WF API 和 LiNQ to XML AP的支持工作流的应用程序。 第19章:多线程、并行和异步编程 这一章介绍了如何构建多线程应用程序,演示了大量用于编写线程安全代码的技术。首先复习 了NET委托类型,解释了委托对于异步方法调用的内在支持。接下来,研究了 System. Threading命 名空间中的类型。最后,介绍了TPL( Task Parallel Library,任务并行库)使用TPL,NET开发者 可以用一种极其简单的方式将应用程序的工作分配给所有可用的CPU与此同时你还将学习PLNQ 的作用,它提供了一种在多个机器内核中执行LINQ查询的方法。本章结尾处总结了NET45引人的 几个新的C关键字,它们能够将异步方法调用直接集成到语言中 第20章:文件输入输出和对象序列化 Syster0命名空间允许与机器的文件和目录结构交互。通过这一章的学习,你将学会如何以编 程方式创建(和删除)一个目录系统,以及如何将数据从不同的(例如,基于文件的、基于字符串的 基于内存的等)数据流中移进移出。本章的后半部分探讨了NET平台的对象序列化服务。简单地说 序列化( serialization)就是将一个对象(或一组相关对象)的状态持久化为流,以便今后使用。反序 列化( Deserialization)是一个从流中取出对象并放入供应用程序使用的内存中的过程。只要理解了基 本原理,你就会学到如何通过 ISerializable接口和一组NET特性来定制序列化过程。 第21章: ADO. NET之一:连接层 本书中有3章介绍数据库相关操作,这是第一章,介绍NET平台 ADO NET的数据库访向API 具体而言,涉及NET数据提供程序的作用以及如何使用由连接对象、命令对象、事务对象以及数据 读取器对象构成的 ADO.NET连接层与关系数据库进行通信。该章引导你创建一个在本书剩余部分会 用到的自定义数据库和自定义数据访问类库( Autolotdal di!) 第22章: ADO. NET之二:断开连接层 这一章将通过研究 ADO. NET的断开连接层继续探讨数据库操作。在这里,我们会学习 Dataset 类型、数据适配器对象以及各种可以大幅简化创建数据驱动应用程序的 Visual studio工具。此后,我 们会学习如何把 DataTable对象绑定到用户界面元意以及如何使用 LINQ to Data Set将LNQ查询应用于 内存对象 Dataset 第23章: ADO. NET之三: Entity Framework 这一章研究了 ADO. NET的最后一部分内容— Entity Framework(EF)的作用。实质上,EF是 6前言 种用直接映射到业务模型上的强类型类编写数据访问代码的方式。在这里,你将了解EF对象服务 的作用、实体客户端和对象上下文,以及*dmx文件的构成。同时,还将学习如何使用 LiNQ to Ent 与关系型数据库交丘。你还将构建最终版本的自定义数据访问库( AutoLotdaL. d),本书其他章节中 将会使用这个库 第24章: LINQ to XML简介 第14章介纲核心的LINQ编程模型特别是 LiNQ to object在这里,我们会通过研究如何把LNQ 查询应用到XML文档来深入理解LNQ我们首先学习在使用 System. XML. dI程序集的类型进行NET XML操作时所暴露出的一些“缺点”,然后探索如何使用LINQ编程模型(LⅠ NQ to XML)在内存中 创建XML文档、将文档持久化到硬盘驱动以及对其内容进行导航。 第25章:WCcF 到现在为止,所有的示例程序都是在一台计算机上执行的。在这一章中,我们将学习 WCF AP以 便无须考虑底层管道,以系统的方式构建分布式应用程序。该章会介绍WCF服务、服务器端以及客户 端的构建。我们还会看到,WCF服务非常灵活,在客户端和服务器端中都可以使用基于XML的配置 文件以声明方式指定地址、绑定和契约。 第26章: Windows Workflow Foundation简介 本章你首先会学习启用工作流的应用程序的作用,随后了解使用NET40WFA对业务流程进 行建模的不同方式,接下来学习WF活动库的范围:以及如何构建自定义活动。在这个活动中,将使 用本书前面所创建的自定义数据库访问库。 第七部分:WPF NET30向程序员介绍了一个绝妙的 API-WPF( Windows Presentation Foundation),该APl 很快就成为 Windows Forms桌面编程模型的继承者。实质上.WPF所构建的桌面应用程序可以包含向 量图形、交互式动画,以及使用声明式标记语法XAML所进行的数据绑定操作。 此外,WPF控件架构提供了一种非常简单的方式,仅仅使用一些格式良好的XAML,就可以彻 底改变常用控件的外观。 第27章:WPF和XAML 本质上,WPF可以为桌面应用程序(以及非直接的web应用程序)构建交互性极好的富媒体前 端。和 Windows forms不同,这个超强的U框架把很多关键服务(例如2D和3D图形、动画、富文 档等)整合到了一个统一的对象模型中。在这一章中,我们会从WPF以及XAML(可扩展应用程序 标记语言)开始研究,还会学习如何创建不使用XAML、只使用XAML以及两者结合的WPF程序。 最后,我们创建了在其余WPF相关章节中都会用到的自定义XAML编辑器。 第28章:使用WPF控件编程 这一章将介绍使用内置的WPF控件和布局管理器的过程,例如,构建菜单系统、拆分窗口、工 具条和状态栏,还将介绍大量 WPF API(及其相关控件),包括 WPF Documents API、 WPF Ink AP 和数据绑定模型。同样重要的是,这一章将开始研究 Expression Blend IDE,它将简化为WPF应用程 序创建富U的任务。 前言7 第29章:WPF图形呈现服务 WPF是一个图形密集型AP1,它提供了3种呈现图形的方式:形状、绘图和几何图形、可视化。 在这一中,我们将介绍这几种方法,并讨论大量重要的图形基元(如画刷、画笔和图形变换),还 将学习 Expression Blend用于简化创建wPF图形过程的多种方式,以及如何对图形数据执行命中测试 操作 第30章:WPF资源、动画和样式 这一章介绍了3个重要的(也是相互关联的)主题,它们将加深你对 WPF API的理解。第一个主 题是逻辑资源的作用。你将看到逻辑资源(也叫对象资源)系统提供了一种方式,可以在WPF应用 程序中命名和引用常用的对象。接下来,你将学习如何定义、执行和控制动画序列。你可能会认为 WPF动画仅局限于视频游戏和多媒体应用,但实际上绝不是这样。最后你将学习WPF样式的作用。 与使用CSS或 ASPNET主题引擎的Web页面类似,wPF应用程序也可以定义常用控件的外观。 第31章:依赖属性、路由事件和模板 本章先介绍了创建自定义控件时涉及的两个重要话题:依赖属性和路由事件。理解了这些内容之 后,我们将学习默认模板的作用,以及如何在运行时以编程的方式查看它们。打好这些基础之后,最 后将学习如何创建自定义模板。 第八部分: ASP. NET Web form 这一部分主要研究使用 ASPNET编程AP来构建Wb应用程序。我们会看到, ASPNET基于标 准的HTTP请求响应对事件驱动的面向对象框架分层,以此来对桌面用户界面的创建进行建模。 第32章: ASP. NET Web Form 本章开始介绍使用 ASPNET进行Web应用开发。如你所见,服务器端的脚本代码现在由“真正 的”面向对象的语言(如C#和 VB. NET等)所替代。这一章将介绍 ASPNET网页的构造、基础的编 程模型以及 ASPNET的其他关键主题,如Web服务器的选择和 web. config文件的使用。 第33章: ASP. NET Web控件、母版页和主题 由于前几章介绍了 ASPNET页面对象的构建,这一章将会关注组成内部控件树的控件。在这里 我们会研究包括验证控件、内置站点导航控件以及各种数据绑定操作在内的核心 ASPNET Web控件。 同样,还会演示母版页的作用以及与传统样式表对应的服务器端 ASPNET主题引擎。 第34章: ASP. NET状态管理技术 这一章将通过研究NET下处理状态管理的多种方式来扩展你对 ASPNET的理解。和传统的ASP 样,使用 ASPNET可以轻松创建 cookie以及应用程序级变量和会话级变量。然而, ASP.NET还引 入了一项新的状态管理技术:应用程序高速缓存。只要知道了使用 ASPNET处理状态的多种方式, 你就会明白 HttpapplicatiOn基类的作用,以及如何用 web. config文件动态改变Web应用程序的运行 时行为。 附录 除了34章正文,本书英文版还包括附录A和附录B,其内容需要从Apress网站(www.aptess.com 的本书主页下载。附录A涵盖基本 windows Forms api,正文中有几个U示例用到了。附录B通过 8前言 Mono平台研究了NET不依赖于平台的特性。 附录A: Windows Forms编程 NET平台最初发布的桌面GU工具包是 Windows Forms。该附录将介绍这个U框架的作用,并 演示如何构建主窗口、对话框和菜单系统,还将说明窗体继承的作用,以及如何使用 System. Drawing 命名空间呈现二维图形数据。最后,该附录将构建一个绘图程序(半成品),演示附录中讨论的各 个主题。 附录B:使用Mno进行平台无关的NET开发 最后,附录B介绍了一个叫做Mono的NET平台的开源实现使用Mono可以在 Mac os X solaris 以及各种Linu版本的操作系统中创建、部署和执行富特性的NET应用程序。由于Mono和微软的NET 平台非常相似,因此你应该知道Mono提供的大部分内容。因此,附录B会重点介绍Mono的安装过 程、Mono的开发工具以及Mono运行时引擎 本书源代码 本书所包含的所有代码示例都可以从 Apress网站上的 Source Code/Download中免费下载(也可以 从图灵社区本书主页htp:/www.ituring.com.cn/book/1046免费下载)访问网址htp:/www.apress.corm 选择 Source Code/Download链接,然后按书名查找。找到本书的主页后,就可以下载一个压缩的*zip 文件。解开压缩文件就会看到,所有代码都是按章编排的 需要提醒你注意的是,本书的很多章节都包含有如下所示的源代码说明,书中讨论的例子都可以 依此线索下载,并加载到 Visual Studio中,以便进一步讨论和修改。 源代码这里给出了源代码在压缩文件中的具休目录 要打开一个 isual Studio解决方案,可以使用 File +Open→ Project/Solution菜单选项,然后导航 到解压缩文档所在的子目录,找到正确的*,s山n文件。 勘误信息 阅读本书过程,你或许偶尔会发现一些语法错误或代码错误(很显松我不希望看到这些)如果 真发现了,我在此道歉。作为一个凡人,尽管我已经很尽力了,但是一两个小错误总是难免的。你可 以从 Apress的网页上获得勒误表(还是在这本书的“主页”上)如果你发现错误的话,请在那里找 到我的联系方式,与我联系 联系作者 如果你有任何关于本书源代码的问题,或者需要进一步阐明这里所举的例子,亦或者只是想简单 地向我传达你关于NET平台的想法,请通过以下电子邮件地址与我联系: atroelsent@ Dintertech, com(为 了确保你的邮件不会被我的信箱划为垃圾邮件,请在主题栏中包含“C# SixthEd”) 前 请你们相信,我会尽我所能在较短的时间里回复你们。但是,就如同各位一样,我有时也会比较 忙。如果我没能在一周或两周的时间里回复你们,请不要认为我是一个怪异的人或者不屑与你们交流, 我可能只是比较忙而已(或者,如果足够幸运的话,在某处度假也不一定)最后,感谢购买本书(或 者至少在你决定是否购买的时候,曾经在书店里翻看过)我希望你喜欢阅读本书,并且可以灵活运 用书中所学的知识。 Part 第一部分 c#与NET平台 本部分内 第1章NET之道 第2章构建C#应用程序

...展开详情
立即下载 最低0.43元/次 身份认证VIP会员低至7折
举报 举报 收藏 收藏 (2)
分享

评论 下载该资源后可以进行评论 4

痴眠虫 挺好的资源
2018-09-19
回复
qq_36960136 非常的好 ,有利于学习
2017-12-11
回复
sxq112358 听说是一本很棒的书,应该有帮助
2017-07-01
回复
yyg8888 不是很清晰,对我很有帮助,谢谢
2017-05-28
回复
img
forguy10

关注 私信 TA的资源

上传资源赚积分,得勋章
相关内容推荐