C#高级编程(第7版)pdf下载

摘要

对于开发人员,把 C掳言及其相关联的衄 点都不夸张。 NET提供了一种环境。在这个环境中,可以开发在 W血b鹏 上运行的几乎所有应用 程序,

对于开发人员,把 C掳言及其相关联的衄 点都不夸张。.NET提供了一种环境。在这个环境中,可以开发在 W血b鹏 上运行的几乎所有应用 程序,而 C#是专门用于.blET FmmewOrk的 编程语言。例如,使用 唧 可以编写动态Web页面、W血b昭

Presm忉uon凡⑾血俪 应用程序、XbILWeb服务、分布式应用程序的组件、数据库访问组件、传统 的 W跏 s桌面应用程序,甚或可以联棚 脱机运行的新型智能客户端应用程序。

C#.jpg

本书介绍.NET

FramcwOrk4。 如果读者使用 以前的版本编码,本书的一些章节就不适用。本书将标注出专用于。NETFra1newOrk4的 新增内容。 ,

不要被这个 FmmewOrk名 称中的.NET所迷惑,认为这是一个只关注 htemet的 架构。这个名 称中的.NET仅强调 Mcrosoa相 信分布式应用程序是未来的趋势,即处理过程分布在客户端和服 务器上。理解 C#不仅仅是编写 htern⒍ 或与网络能识别的应用程序的一种语言也很重要。它还提 供了一种编写 Whdows平 台上几乎任何类型的软件或组件的方式。另外,C++和 。NET都对开发人 员编写程序的方式进行了革新,更易于实现在 W岫 ws上的编程。 那么,.NET和 唧 有什么优点? c

.NET禾口C#自饭≡要I性

为了理解.NET的重要性,了解一下过去 18年来出现的许多W血b喁 技术的本质,会有一定的 帮助。尽管所有 W血沁哪 操作系统在表面上看来完全不同,但从 W血b鹏 3.1(19吵 年引入)至刂 晌 s7和 W血b昭 server⒛Os V,在 内核上都有相同的W血b鹏API。 在我们转而使用W跏 s 的新版本时,虽然 API中增加了非常多的新功能,但这是一个演化和扩展 API的过程,并非替换它。 开发W血b鹏 软件所使用的许多技术和架构也是这样。例如,组件对象模型component α冰∝

Mode1,Co1⑷源自对象链接和嵌入(α冰dh酞砘”nd Emb耐岘 ,oLE)。 最初,因 为它在很大程度 上仅把不同类型的 0rIce文档链接在一起,所以利用它,例如,可以把一个小型 Excel电子表格放 在Word文档中。之后,它逐步演化为CoM、 DCOMO心“沅旧 CoM,分布式组件对象模型)和最 终的CoM+。 CoM+是一种复杂的技术,它是几乎所有组件通信方式的基础,实现了事务处理、消 息传输服务和对象池。 `

Mh钥oa选择这种革新方法的原因非常明显:它关注后向兼容性。在过去的这些年中,第三方 软件编写了大量 W跏 s软件,如果 ⒈狂crosoa每次都引入一项不遵循现有基本代码的新技术,

W血b鹏 就不会获得今天的成功。 后向兼容性是 W血b啷 技术的极其重要的功能,也是Wmdows平 台的一个长处。但它有一个 很大的缺点:每次某项技术更新换代,增加了新功能后,它都会比它以前更复杂。 很明显,对此必须进行改进。M忆rosoa不可能一直扩展相同的开发工具和语言,总是使它们越

C+高级编程(第 7版) 来越复杂,既要保证能跟上最新硬件的发展步伐,又要与⒛ 世纪 90年代初开始流行的W跏 s产

品向后兼容。如果要得到一系列简单而专业的语言、环境和开发工具,让开发人员轻松地编写最新 的软件,就需要一个新的开端。 这就是C砑

"四

T的作用。粗略地说,iNET是一种在Wmdows平台上编程的架构卜——种 AH。

C+f是一种从头开始设计的用于.NET的语言,它可以利用Ⅻ T FmmewOrk及 其开发环境中的所有新 增功能,以及在最近 乃 年来出现的面向对象的编程方法。 在继续介绍前,必须先说明,后 向兼容性并没有在这个演化进程中丧失。现有的程序仍可以使 用,恻ET也兼容现有的软件。现在,在 W血b渊 上软件组件之间的通信几乎都使用 COM实现。 因此,.NET能够提供现有 CoM组件的包装器伽叼merJ,以便.NET组件与之通信。 我们不需要学习了唧才能给,NET编写代码,因 为Mhmon已经扩展了C‖,还对 Ⅵ斓 B茁sc

进行了很多改进,把它转变成了功能更强大的语言,并允许把用这些语言编写的代码用于.NET环境。 但其他这些语言都因有多年演化的遗留痕迹,并非一开始就用现在的技术来编写,导致它们不能用 于.NET环境。 本书将介绍 唧编程技术,同时提供Ⅻ T体系结构工作原理的必要背景知识。我们不仅会介绍 蹦 言的基础,还会给出使用各种相关技术的应用程序对应的示例,包括数据库访问、动态的Web

页面、高级的图形和目录访问等。

,NET的优点 前面阐述了,NET的 优点,但并没有说它会使开发人员的工作更易完成。本节将简要讨论MT

的改进功能。 ● 面向对象编程:,NET FramewOrk和 C#从一开始就完全基于面向对象的原则。 ● 优秀的设计:一个基类库,它以=种非常直观的方式设计出来。 ● 语言无关性:在.NET中 ,Ⅵsual B茁sc、 C#和托管 C+++语言都可以编译为通用的中间语言

mteme山屺Lanwge)。 这说明,语言可以用以前没有的方式交互操作。 ● 对动态 Web页面更好的支持:虽然 AsP具有很大的灵活性,但效率不是很高,这是因为 它使用了解释性的脚本语言,且缺乏面向对象的设计,从而导致AsP代码比较混乱。,NET

使用 As"吧T,为 Web页面提供了一种集成支持。使用 AsP.NET,可以编译页面中的代 码,这些代码还可以使用.NET能识别的高级语言来编写,如 唧或Ⅵ觎 B泣sc⒛ 10。 .NET

现在还添加了对最新 Web技术的重要支持,如 肉ax和 昶”叮。 · 高效的数据访问:一组刹盯 组件,统称为 川Ⅸn四T,提供了对关系数据库和各种数据源 的高效访问。这些组件也可用于访问文件系统和目录。尤其是,,NET内置了XML支持, 可以处理从非 W血b咻 平台导入或导出的数据。 Ⅱ 代码共享:N巳T引入了程序集的概念,替代了传统的D⒒∶可以完美无暇地改进代码在应 用程序之间的共享方式。程序集是解决版本冲突的正式设备,程序集的不同版本可以并存。 · 增强的安全性:每个程序集还可以包含内置的安全信息,这些信息可以准确地指出谁或哪 种类型的用户或进程可以调用什么类的哪些方法。这样就可以非常准确地控制用户部署的 程序集的使用方式。 ● 对安装没有任何影响:有两种类型的程序集,分别是共享程序集和私有程序集。共享程序 集是可用于所有软件的公共库,而私有程序集只用于特殊软件。由于私有程序集完全自包

IV

含,所 以安装过程非常简单。没有注册表项,只需把相应的文件放在文件系统的相应文件 夹中即可。 ● Web服务的支持:NET完全集成了对开发 Web服务的支持,用户可以轻松地开发任何类 型的应用程序。 ● Voud studo⒛ 10:.NET附带了一个 Visual s姒№ ⒛10开发环境,它同样可以很好地利 用 C抖、唧 、Ⅵsual Baso⒛ 10和 AsPMT或 XML进行编码。

`斌 s血№ ⒛10集成了 这个 DE所有以前版本中的各种语言专用的环境中的所有最佳功能。 ● γ :是使用.NET的 一种面向对象的强大且流行的语言