C#技术内幕
C#技术内幕 ,详细讲解C#面向对象概念。(京)新登字158号内容筒介c#由C和CHt语言发展而来,是一种简单、现代、面向对象、类型安全的语言。本书分为基础篇C#类基础、編写代码和高级C#4个部分,分别描述了关于C#和NET开发环境的一个特定方面的内容其中包括NET框架介绍、程原则、类型系统、类、特性、接口、多线程编程和使用组合体等本书简明易懂,思路清晰,结合恰当的示例代码,竹别造于希望学习c#和NT开发环壤的读者以及己经具有C家族厝言〔C、C+或Ja)背眾的黄者读。Inside clCopyright O Z00l by Microsoft CorporationOriginal Eag lish language edition publlshed by Microsoft Press, a Division of Microsoft CorporationAll rights reservedwithout the written permission of the publisher For sale in the People's republic of China uy Ga sNo part of the contents of is book may be reproduced or transmitted n any form or by any mmea s本书中文简体版由 microsoft press授权清华大学出版社出版发行,未经出版者书面许可,不得以任何方式复制或抄袭本书的任何部分内容北京市版权局着作权合同登记号t图宇01-2001-0120号版权所有,翻印必究。本书封面贴有清华大学出版社激光防伪标签,无标签者不得销售书名:C技术内作者:[] Tom Archer峄膏:侯晓霞柴泱辉资任编辑:孙岩出版者:清华大学出版社(北京清华大学学斫大夏,邮编100084)httpr//www.tup.tsinghuaeduct印刷者:北京广益印剧有限公发行者:新华书店总店北京发行所开:787×901/6即张:23.25字数:512千字版次:圳02年月第」版2002年1月第1次印刷书号:sBN7900637-39-1印数;0u01~5自定价;19.0元含1张光盘《微软 Visua studio.NET程序开发系列丛书》序NET技术简介NET技术是2000年微软公司推出的全新概念,对于它很难儆出一个明确的定义,它代表了一个集合、一个环嬑、一个编稚的基础结构。其目的是将互联网本身作为构建新一代操作系统的基础,对互联网和操作系统的设计思想进行延伸。貝体地说,NET技术就是要在不同的网站之间建立起协定,促进网站之间的协同合作,实现信息的自动交流,从而帮助用户最大限度地获取信息、并对他们的数据进行简单、高效的管理、对于最终用户来说,NET技术的实现将使计算机的功能得到大幅度的提升,而计算机的操作却变得更加简单。他们将完全摆脱人为的硬件束缚,利用任何设备、通过任何系统、在任何时间、任何地点访问互联网的多维时空,并对其进行跨应用程序的集成。用户对个人信息的任何修改—无论是通过个人电脑、便携设备还是灵通卡—将即时和自动地通知到所有需要这些信息的地方。对于应用程序的开发人员来说,NET的意义也许更为重大。通过NET技术,程序开发人员不必再像过去样通过集成本地系统服务来构建应用程序,花费大量的精力来考虑如何构建基本的结构,而无法专注于如何实现软件所特有的商业价值。现在,程序开发人员可以访问 Microsoft net所提供的内容丰富的类库,直接使用各种各样来自于 Interpet的模块来构建白己的应用程序,而无需为不同的工作环境重新编写程序,快邀、高效地开发应用程序。对于网络开发人员来说,借助NET技术所提供的、基于XML的松教耦合技术,他们终于可以真正地将应用程序遐辑分发到网络上,而不必顾及服务端与客户端是否属于同种结构、执行机制是否柏同、接口是否对应。 Microsoft NET将把ASP和程序集成带到个新的水平上,将集成程序和其他的集成或非集成程序整合;把这些程序风格化:形成针对这些应用程序编写新程序的能力:并可以在离绒状态下运行它们。Visual studio.NET筒介Visual studio NET是 Microsoft为实现其.NET技术而开发的一整賽工具组件。它把开发功能强大、性能可靠的企业网络解决方案进行了简化。通过提供终端到终端的网络开发IC技术内幕能力以及可伸缩、可复用的服务器端组件, Visual studio.NET将会大大地提高生产率,并促使商务活动更加有效地关注快速多变而又充满竞争的市场需求。Ⅵ isual Studio, NEt具有许多令人激动人心的特性,其中的某些特性是对早期 VisualSudo版本的增强,而另外一些特性则是全新的。这些新特性包括:一个单一的集成化开发环境、 Visual basic.NFT当中面向对象竹新特性、以及大量在产品开发生命周期中使用的工具Ⅴ isual Studio,NET的主要作用在于;●提供加遠开发过程的高效工具Ⅴ isual Studio. NEt提供了一个紕一的、紧密集成的可视化编程环境,以帮助您简化开发网络应用程序的过程、缩短学习使用方法的时间。通过共享的HTML,XML和样式单编辑器,您可以轻轻松松地借助包括C#在内的任何一种ⅵ sual studio语言来开发网络应用程序提供对各种各样的网络应用程序的快速设计能力借助于 Web forms,程序员们叮以使用他们在开发基于窗体的桌面应用程序时所使用的技巧来创建跨平台、跨浏览器的网络应用程序。 Web forms被用于网络的服务器端,它能高速地运行,并生成符合HTML32规范、能够在各种浏览器上阅读的文挡。●利用XML和 Web serves来简化分布式计算Webservices借助标准朐Intemet协议在网络上调用商务逻辑。HTTP被作为WebServices铵输的基础协议,该协议使得对功能的请求能够穿越各种团体所使用的防火培。ⅪM被用来对上述功能请求的参数进行格式统一,从而使得这些请求能够适用于所有的软件和硬件。这样使得对 Web services的访问可以通过任何一种语言、使用任何一种组件棋型、在任何一种操作系统土实现。快遠构建中间层商务组件ⅵ isual studio的一个核心目标就是要为基于服务器的应用程序提供应用程序快速部署( Rapid application Development,RAP)工具。Ⅵ isual studio Net在创建中层商务逻辑时所表现出的效率丝亳不逊于ⅵ sual bas开发窗体程序时的效率。利用Visual studio. net创建的组件将为您的商务运作提供足够的功能和伸缩性。构建可拿的可伸编解决方案利用Ⅴ isual studioNET,您可以非常轻松地创建具有自动伸缩能力的可靠的应用程序和组伴例如,如果使用suaC+来编写网络应用程序,新推出的 ALI Ser将会极大地提高性能。《软 Visual Studio. Net程序开发》系列丛书序tVisual studio net的其他新性能包括一种新的语言:CC#语言是一种优雅、简单、类型安全、面向对象的编程语言。它在向C和C的用户提供RAD的同时,保持了CC++所特有的强大功能和控制能力。C#的关键特性包括:具有与C++分相似的模型和语法。99%的语句、表达式和运算符都与号C-+相同具有与COM+服务完全的互换性●提供对CυM和平台的完全支持能力,使您能够轻松地迁移现有的代码提供自动的无用单元收桌能力●提供可扩展的分类元数据,使您可以声明新类型和各种元数据对基于网络的组件交互提供XML支持Ⅴ isual Studio.NET的新特性使之为基于微软NET框架( Microsoft et framework,微软下一代的网络应用程序开发平台的应用程序提供了一个完整的开发环境。 VisualStudio NEt提供的关键性基础技术简化了安全、可伸缩、高度可用的网络应用程序和WebServices的创建、部署和更新的方法,并为程序员们施展他们的技巧提供了广阔的空间除此以外, Microsoft net framework还帮助刚络开发人员使用自已所喜爱的语言,按照使用本地对象的方式来使用 Web services。程序开发人员可以把注意力投向如何增强产品所特有的功能,以对公司赢得荒争优势。这样的结果是更快的产品开发速度、更高的开发效率和更高的产品质量。本套丛书的内容与安排本套从书取材于山微软出版社提供、独家授权的人量第—手资料。本套丛书目前包括5册,分别为:《C#语言参考手册》深入详细地介绍C语言的语法规则和例外情况,为学习者提供从CC++到C#的快速入门指南。《C#编程技术》用大量的程序代码来比较C#与CC艹的异同,并具体地说明如何利用G访问Microsoft. NET类姩,编写功能强大的应用程序●《C#技术内幕》精心组织成几个逻辑上有序的部分,分别描述了C#和,NET开发环境的个特定内容:;基础篇、C樺类橥础、編写代码、高级C#。《ⅵ isual Studio NET开发环境使用指南》¢技术内幕详细地介绍新一代的应用程序开发环境的使用方法和技巧,为您对 isualStudio. net开发环境的亲身体验提供全面详细的使用指南《XML30技术内帮》详细深入地介绍最新版本的XML( Extensible Markup Language,可扩展标记语言的语言规范和使用方法,帮助读者快速深入地了解这项当今网络的核心技术。随普技术的发展,并根据读者的需要,我们将陆续增加新的书目。本套书在编写的过程中面临着如何迅速地把最新的TT技术传播给国内的广大读者的巨大压力。迫于时限,在章节篇幅的安排上乘承“形式服从于内容”的宗旨,因而造成某些章节篇幅远远超出其他章节的情况。另外,由于本书所讨论技术的新颖性,使得可资借鉴的中文资料相当稀少,加上编者们的水平有限,故而某些术语的详称可能并小尽如人意,甚至可能还会有不少错误,对于这些问题,忌请广大读者批评指正。编者201年8月前言写作缘由做了20年程序员之后—每思及此,我就觉得韶光不再!—我基本上已经达到这样种境界:编程对于我来说,开始显得有些陈腐了。不要错解我的意思:如果我是一个亿万富翁并且不需要工作的话,我仍然可能会继续书写代码,因为这是我真正乐于从事的事情。但现实却是我常賞会产生种“穷途末路”的感觉。終十, Microsof Net和C#出现在我的面前,一个全新的世界打开了!我曾与其他几个朋友交谈过,他们跟我一样,都被NET的美好前景“重新唤醒”。我们终于拥有了这项激动人心的新技术,可以用来解决已经与我们纠缠多年的问题比如:多语言开发环境、大型复杂系统的分发配置和版本问题等等)。我之所以写这本书,是因为书写代码再一次能够让我激动不已每天清晨醒来,我都忍不住会想一想今天将要学到很棒的新东西。我希望在您学习这门语言的时候,也能够分享我这份狂热的心情。目前任何写作有关C群的人都不得不边写边学。如果你在学习sDK或者目前使用的编程语言期间曾经編写过应用程序的话一…谁又没有这样做过呢?——你就会知道这事有点难。现在试着想象一下:如果你写了一点东两,而有千千万万的人将要阅读它的时候,你又会怎样呢?最大的问题在于做了一半的时候—一且你醒悟你在做什么一你就会海望重新设计整个过袒并且重新来过!但是很显然,由最后期限来临,这样的想法并不实际我相信本书是一个学习c活言的好工具因为我是边写边学,书中肯定会有一些不妥之处,也有一些地方我本来可以做得更好。但是,如果有机会发行第一版的话,我保证我们都会从我书写本书时我的个人学过程中受益匪浅,因为,我所遇到的问题也就是您将要面临的问题。最后,我想说的是我欢迎任何有关本书的反馈意见。我不是那种自认“我写书,所以我很牛气”的人,我只是一个很普通的人,幸运地得到了创作本书的机会而已。我总是乐于向他人学习并且乐此不疲。您可以通过hp:/www.TheCodechannel.com与我联系本书的读者对象本书适合于幣望了解C#和NET开发环境的读者阅读。我已经说过,NET是一个激动人心的平台,同时也是 Micros盘 Window开发环境未来的潮流。本书假定读者辽经具有c系列语言之一C、C艹或Java)的背景知识。如果说还有什么其他的条件,那就是在编写应IC#术内幕用程序时学习和探索新思跻的那种渴望。因为您正手握此书,您可能已经心存这种渴望!本书的组织结构本书精心组织成逻辑上有序的四个部分:每一部分包含了若干章,描述了C#或NET开发的一大类特定内容。本书以第I部分“基础篇”开始,这部分面向的读者是入门级别的C程序员和刚刚接触NET井发坏境的读者。这部分中的章怗提供了对NET的介绍,并且说明如何创建和测试您的第一个C#应用程序。在第Ⅱ部分“C#类基础中,介绍了在C中定义和使用类的一些基本要素。这部分中的章节着重于为您打下一个坚实的基础,以便了解在C群中支持哪些成员枚举、属性、数组等等),以及在C应用程序中如何定义和使用它们尽管在学习定义类成员的几个章节中您已经写过代码了,但是直到第∏部分“编写代码”,才开始介绍各种任务的不同侧面,诸如控制程序流、处理错误(包括异常)、以及使用代表来书写事件处理器等等本书以第Ⅳ部分“高级C”结束。作为一个典型的老程序员,我最喜欢书写这部分内容。其中包括了多线程编程、反射、使用非控代码包括COM互用性)和版本管理等等。关于本书配套光盘本书包括一张配套光盘如果您在 windows中启用了 Autorun功能,当您将这张光盘插入到光驱中时就会出现一个屏幕,为您提供安装选顶。要想于动打开这个安装屏蒂,可以从该光盘的根月录下运行 Startch程序, StartCD程序为您提供到MSDN的连接,利用该连接您叫以卜载最新版本的 Microsoft Net framework SDK,在编译和运行示例程序时将用到它。本书示例程序位于光盘卜的code文件夹中。您可以百接从光盘上查看示例程序也可以从SaCD上使用交装程序将它们安到您的硬盘上注意:如果您不能浏览 Samples文件夹中的文件,有可能是因为您的光盘驱动程序太老,以至于不攴持长文件名。如果是这样,要想浏览这些文件,您就必须使用安装程序将这些示例文件安装到您的硬盘上系统要求您如果想从本中最人程度地获益,我强烈建议您在阅读每一章时都一定芸演练一追示例程序。这样的话。您将需要安装最新的 NET Framework sdk。在写作本书期间,它包括NET运行环境和C科编译器。此外,我特意避免使用 Visual! Studio, Net产品,以便集中精丿在编程语言和还行环境之上,而不对您特定的开发环境做任何限制。因此,本书中所前ⅢI有的示例程序都是从命令行编译和运行的。下面我们再来看一看组成 Microsoft net的关键组件和一些相关的技术。●新的编程语言C祥C#是C和C++语言家族中第一种面向组件的编程语言。它从C和C+派生而来是一种使用简便、而向对象、类型安全的现代编程语言。C样兼具Ⅴ ual basic的高效性和C++的强大功能◆通用运行语言高性能的通用运行语〔 Common Language runtime,CLR)包含执行引寧,垃圾收集器、即时编译、安全系统和卡高的类框架即 Microsoft net框架)CLR从底层设计,能够支持多种语言◆還用语言规范通用语言规范( Common Language Specification,CLS)描述了各种语言所共有的功能。CLS这种相对很低的限制有助于创建许多与CLS兼容的语言。这些语言可获得的好处包括:对 Microsoft net框架功能的完全访问和与其他兼容话言之间充分的互用性。比如,一个 Visual basic的类可以从C类中继承而来并且覆盖掉其虚拟方法●以CLR为目标的大量语言由 Micosoft提供的以CLR为目标的编程语言包括:Ⅴ isual basic、带有受控扩展的ⅵuaC十、sulC#和 IScript至千由第三方所提供的编程语言则数不胜数。●Web聚务目前的全球互联网主要是由单独的站点所组成。如果用广要访问多个站点以便货比三家,比如为一组人员做旅行计划,那么他所访问的这些Web站点之问通常并没有合作。下一代的互联网则是基于Web站点之间的合作的网络。这样做的理由很简单:合作的Web站点能够更好地满足用广的需求。 Microsoft的Web服务技术鼓励Web站点之间的合作,因此允许站点之间通过基于XML的标准协议进行通信,即使这些Web站点在编程语言和应用平台上都相互独立,也不对此造成影响。还有很多重要的硎b服务将基于C#和 Windows上运行的CR,但这个框架结构却的确是开放的Visuai studio.nETVisual studio. net将上述所有的部分联系在一起,以便在各种各样的编程语言中更简便地创建各种各样的组件、应用程序和服务程序。既然我们已经涉及到了一些与C相关的重要技术,那么就对〔本身进行一些洋细的探讨吧。开发人员已经为他们所选择的编程语言投入了大量的心咖,因此新语言的责任就是邋过保留简单、持锲改进和谨慎创新的维合来证明自己的价值
下载地址
用户评论
很经典,正是我所需要的。
很实用可以有很好的参考价值
都是很实用的基础知识和技术。
有不少例子可以参考,目前正需要