C#高级编程(第7版)中文完整pdf版 (随书源代码)

所需积分/C币:50 2018-12-22 13:51:47 95.42MB PDF
136
收藏 收藏
举报

C#高级编程(第7版)》的顶级专家作者团队首先复习了C#的基础知识,之后详细讲解了该语言和架构中的所有新增功能,使读者能立即开始编写Windows应用程序和ASP.NET Web应用程序。   本书几乎涵盖C#语言的所有功能,对于C#初学者和有经验的程序员是值得大力推荐的书籍。实践证明,本书是关于C# 和 Visual Studio的一本全面而且权威的参考书。   《C#高级编程(第7版)》的顶级专家作者团队首先复习了C#的基础知识,之后详细讲解了该语言和架构中的所有新增功能,使读者能立即开始编写Windows应用程序和ASP.NET Web应用程序。
Christian Nagel, Bill Evjen, Jay Glynn, et al Professional cif 4 and neT 4 E|SBN:978-0470-502259 Copyright o 2010 by Wiley publishing, Inc All Rights Reserved. This translation published under license 本书中文简体字版由 Wiley Publishing,hnc.授权清华大学出版社出版。未经出版者书面许可,不得以任何方式 复制或抄袭本书内容。 北京市版权局著作权合同登记号图字:01-2010-2103 本书封面贴有Wley公司防伪标签,无标签者不得销售 版权所有,侵权必究。侵权举报电话:0106278298913701121933 图书在版编目c|P)数据 C#高级编程(第7版)(美)内格尔( Nagel,C),(美)埃夫琴( Evjen,B)等著;李铭译;黄静审校 北京:清华大学出版社,201011 书名原文: Professional c样4 and net4 ISBN9787-302-23937-6 I.C…Ⅱ.①内…②埃…③李…④黄…Ⅲ.C语言一程序设计Ⅳ.TP312 中国版本图书馆CIP数据核字(2010)第195700号 贵任编辑:王军谢晓芳 装帧设计:孔祥丰 责任校对:成风进 贵任印制:王秀菊 出版发行:清华大学出版社 地址:北京清华大学学研大厦A座 http:/www.tup.com.cn 邮编:100084 社总机:010-62770175 邮购:010-62786544 投稿与读者服务:010-62776969,c-service@tup.tsinghua.edu.cn 质 kLt:010-62772015,zhiliang@tup,tsinghua.edu.cn 印刷者:清华大学印刷厂 装订者:三河市新茂装订有限公司 经销:全国新华书店 开本:185×260印张:94.25字数:2529千字 附光盘1张 版次:2010年11月第1版 印.次:2010年11月第1次印刷 印数:1~5000 定价:148.00元 产品编号:035929-01 作者简介 CHRSTIANNAGEL是 Microsoft区域董事、 Microsoft mvp, thinktecture的合作伙伴,CN革新 技术的拥有者,他是—位软件架构师和开发人员,为开发 Microsoft NET解决方案提供培训和咨询服 务。他具备超过25年的软件开发经验。 Christian从PDP11和 VAXVMS系统开始其计算机生涯,熟 悉各种语言和平台。自从2000年以来,(那时NT还只是-个技术框架)他就开始使用各种NET技术 构建大量NET解决方案他具备 Microsoft技术的深厚功底,编写了大量NET图书,并获得了 Microsoft 认证培训师和专业开发人员证书。 Christian在国际会议发表演讲如 TechEd和 Tech Days)并创立 INETA Eupe,以支持NET用户组。通过Web站点www.cnimnovation.com和www.thinktecture.com可以联系 Christian,在www.twitter:om/christiannagel上可以找到他 BILLEWUEN是NET技术和基于社团的NET学习活动的积极倡导者,他自从NET在20年 第一次发布以来就积极涉足NET。同年,B成立了StLouisnet用户组www.stlnet.org),这是世 界上第一个这样的用户组,B还是国际NET协会(www.ineta.org)的奠基人和前任执行主管,该协 会在全世界有500000多位成员。 Bi住在密苏里州的圣路易斯,是 ASPNET和web服务的位著名作者和演说家。他编写或与他 人合作编写了20多本书,包括 Professional ASPNI4 Professional vB2008、 ASPNET Professional Secret XML Web Services for ASPNET MA Web Services Enhancements: Understanding the WSE for Enterprise Applications(均由Wley出版除了写作之外,B还在许多会议上发表演讲包括 DevConnections, VSLive 和 TechEd。除了这些活动之外,Bi还与 Microsoft联系紧密,是 Microsoft区域董事和MVP。 Bl是国际新闻及财务服务公司(www.thomsonreuters.om)Thomsonreuters,即Lper的全球平 台架构师。他毕业于华盛顿州贝灵翰姆的西华盛顿大学,获得了俄语学位。他闲暇时通常在芬兰的 Toivakka度假。在 Twitter网站上可以通过@ billevjen联系到Bjl JAY GLYNN是 Pure Safety的首席构架师, Pure Safety是一家为劳动力的安全和健康提供结果驱动 的软件和信息解决方案的业界领先的提供商。Jay开发软件的时间有25余年,使用过各种语言和技术, 包括 PICK Basic、C、C艹+、Ⅵ isual Basic、C#和Java。Jay目前与妻儿住在田纳西州的富兰克林。 KARLIWATSON是nfusionDevelopment(www.infusioncom)的顾问,Boostnet(www.boostnet 的技术架构师和m自由撰稿专业人士、作家和开发人员。他主攻NET(尤其是C和后来的wPF), 在这个领域编写了许多图书。他擅长以通俗易懂的方式激情澎湃地阐述复杂的理念,并花了大量的 时间研究新技术,寻求可教给其他人的新技术。 在不工作时(这种时间似乎没有),Kar希望到山上滑雪,或者尝试发表他的小说。他喜欢穿颜 色鲜亮的衣服,可以在www.twitter.com/harlequin网站上找到他,也许有天他自己会建立一个网站 MORGAN SKINNER年轻时对 Sinclair ZX80很感兴趣,在校期间就开始了计算机生涯,当时他对 教师编写的一些代码不感兴趣,便开始用汇编语言编程。从此以后他使用各种语言和平台,包括VAⅹ 宏汇编程序、 Pascal、Moua2、 Smalltalk、X86汇编语言、 PowerBuilder、C/C++、VB和目前的C#,自 从2000年发布PDC以来,他就用NE编程,而且非常喜欢NET,于是在2001年加入了 Microsoft。他 现在是开发人员的主要支持人员,而且花了大多数时间帮助客户使用C并。在www.morganskimer.com上 可以联系到 Morgan 前言 参绕 象对于开发人员,把C语言及其相关联的 NET Framework环境描述为多年来最重要的新技术一 点都不夸张。NET提供了一种环境。在这个环境中,可以开发在 Windows上运行的几乎所有应用 程序,而C料是专门用于 NET Framework的编程语言。例如,使用C并可以编写动态Web页面 Windows Presentation foundation应用程序、Ⅺ ML Web服务、分布式应用程序的组件、数据库访问组件、传统 的 Windows桌面应用程序,甚或可以联机/脱机运行的新型智能客户端应用程序。本书介绍NET Framework4。如果读者使用以前的版本编码,本书的一些章节就不适用。本书将标注出专用于NET Framework4的新增内容 不要被这个 Framework名称中的NET所迷惑,认为这是一个只关注 Intemet的架构。这个名 称中的NET仅强调 Microsoft相信分布式应用程序是未来的趋势,即处理过程分布在客户端和服 务器上。理解C#不仅仅是编写 Intemet或与网络能识别的应用程序的一种语言也很重要。它还提 供了一种编写 Windows平台上几乎任何类型的软件或组件的方式。另外,C#和NET都对开发人 员编写程序的方式进行了革新,更易于实现在 Windows上的编程。 那么,NET和C有什么优点? NET和C#的重要性 为了理解NET的重要性,了解一下过去18年来出现的许多 Windows技术的本质,会有一定的 帮助。尽管所有 Windows操作系统在表面上看来完全不同,但从 Windows31(1992年引入)到 Windows7和 Windows server2008R2,在内核上都有相同的 Windows api在我们转而使用 Windows 的新版本时,虽然AP中增加了非常多的新功能,但这是一个演化和扩展AP的过程,并非替换它。 开发 Windows软件所使用的许多技术和架构也是这样。例如,组件对象模型( Component Object Mode,COM源自对象链接和嵌入 Object Linking and Embedding,OLE)。最初,因为它在很大程度 上仅把不同类型的Oice文档链接在一起,所以利用它,例如,可以把一个小型 Excel电子表格放 在Word文档中。之后,它逐步演化为COM、DCOM( Distributed com,分布式组件对象模型)和最 终的COM+。COM+是一种复杂的技术,它是几乎所有组件通信方式的基础,实现了事务处理、消 息传输服务和对象池 Microsoft选择这种革新方法的原因非常明显:它关注后向兼容性。在过去的这些年中,第三方 软件编写了大量 Windows软件,如果 Microsoft每次都引入一项不遵循现有基本代码的新技术, Windows就不会获得今天的成功。 后向兼容性是 Windows技术的极其重要的功能,也是 Windows平台的一个长处。但它有一个 很大的缺点:每次某项技术更新换代,增加了新功能后,它都会比它以前更复杂。 很明显,对此必须进行改进。 Microsof不可能一直扩展相同的开发工具和语言,总是使它们越 C#高级编程(第7版) 来越复杂,既要保证能跟上最新硬件的发展步伐,又要与20世纪90年代初开始流行的 Windows产 品向后兼容。如果要得到一系列简单而专业的语言、环境和开发工具,让开发人员轻松地编写最新 的软件,就需要一个新的开端。 这就是C淋#和NET的作用。粗略地说,NET是种在 Windows平台上编程的架构一一种API C#是一种从头开始设计的用于NET的语言,它可以利用 NET Framework及其开发环境中的所有新 增功能,以及在最近25年来出现的面向对象的编程方法。 在继续介绍前,必须先说明,后向兼容性并没有在这个演化进程中丧失。现有的程序仍可以使 用,NET也兼容现有的软件。现在,在 Windows上软件组件之间的通信几乎都使用COM实现 因此,NET能够提供现有COM组件的包装器( wrapper),以便NET组件与之通信。 我们不需要学习了C#才能给NET编写代码,因为 Microsoft已经扩展了C+,还对 isual baisc 进行了很多改进,把它转变成了功能更强大的语言,并允许把用这些语言编写的代码用于NET环境。 但其他这些语言都因有多年演化的遗留痕迹,并非一开始就用现在的技术来编写,导致它们不能用 于NET环境。 本书将介绍C编程技术,同时提供NET体系结构工作原理的必要背景知识。我们不仅会介绍 C语言的基础,还会给出使用各种相关技术的应用程序对应的示例,包括数据库访问、动态的Web 页面、高级的图形和目录访问等。 NET的优点 前面阐述了NET的优点,但并没有说它会使开发人员的工作更易完成。本节将简要讨论NET 的改进功能。 ●面向对象编程: NET Framework和C#从一开始就完全基于面向对象的原则。 ●优秀的设计:一个基类库,它以一种非常直观的方式设计出来 语言无关性:在NT中,Ⅴ sual baiso、C#和托管C++等语言都可以编译为通用的中间语言 Intermediate Language)。这说明,语言可以用以前没有的方式交互操作 对动态Web页面更好的支持:虽然ASP具有很大的灵活性,但效率不是很高,这是因为 它使用了解释性的脚本语言,且缺乏面向对象的设计,从而导致ASP代码比较混乱。NET 使用 ASP.NET,为Web页面提供了一种集成支持。使用 ASPNET,可以编译页面中的代 码,这些代码还可以使用NET能识别的高级语言来编写,如C#或 Visual baisc2010。NET 现在还添加了对最新Web技术的重要支持,如Aax和 jQuery。 高效的数据访问:一组NET组件,统称为 ADO NET,提供了对关系数据库和各种数据源 的高效访问。这些组件也可用于访问文件系统和目录。尤其是,NET内置了ⅪML支持, 可以处理从非 Windows平台导入或导出的数据。 代码共享:NET引入了程序集的概念,替代了传统的DLL,可以完美无暇地改进代码在应 用程序之间的共享方式。程序集是解决版本冲突的正式设备,程序集的不同版本可以并存。 增强的安全性:每个程序集还可以包含内置的安全信息,这些信息可以准确地指出谁或哪 种类型的用户或进程可以调用什么类的哪些方法。这样就可以非常准确地控制用户部署的 程序集的使用方式 ●对安装没有任何影响:有两种类型的程序集,分别是共享程序集和私有程序集。共享程序 集是可用于所有软件的公共库,而私有程序集只用于特殊软件。由于私有程序集完全自包 前言 含,所以安装过程非常简单。没有注册表项,只需把相应的文件放在文件系统的相应文件 夹中即可。 ●Web服务的支持:NET完全集成了对开发Web服务的支持,用户可以轻松地开发任何类 型的应用程序。 Visual studio2010:NEr附带了一个 Visual studio2010开发环境,它同样可以很好地利 用C艹+、C#、 Visual basic2010和 ASP NET或XML进行编码。 Visual studio2010集成了 这个DDE所有以前版本中的各种语言专用的环境中的所有最佳功能 C#:是使用NET的一种面向对象的强大且流行的语言。 第1章将详细讨论NET体系结构的优点。 NET Framework4中的新增特性 NET Framework的第1版(10版在2002年发布,赢得了许多人的喝彩。 NET Framework20在 2005年发布,认为它是该架构的一个主要版本。 NET Framework4是该产品另一个重要的版本,包含 了许多重要的新功能。 对于 NET Framewor的每个版本, Microsoft总是试图确保对已开发出的代码进行尽可能少的不 兼容的更改。到目前为止, Microsoft在这方面做得很成功。 下面将详细描述C2010和 NET Framework4中的一些新变化。 动态类型 编程界在动态语言(如 JavaScript、 Python和Ruby)方面的进步非常快。由于这类编程越来越流 行, Microsoft在C中发布了一个新的动态类型功能。并不总是可以以静态方式确知对象最终是什 么类型。现在不使用 object关键字和从这个类型生成的所有对象而可以让动态语言运行库 Dynamic Language Runtime,DLR)在运行期间动态地确定对象的类型。 使用C#新增的动态功能,可以更好地进行交互操作。我们可以与各种动态语言交互操作,更容 易地使用DOM。甚至现在使用 Microsoft office COM API也更容易。 在 NET Framework4这个版本中, Microsoft包含了动态语言运行库。DLR建立在公共语言运行 库( Common Language runtime,CLR)的基础上,提供了把所有动态语言交互操作连接起来的功能 C#使用新的 dynamic关键字访问新的DLR。这对于编译器是一个标记,只要遇到这个关键字, 编译器就认为它是一个动态调用,而不是一般的静态调用。 可选参数和命名参数 虽然可选参数和命名参数在Ⅴ isual basic中已存在一段时间了,但在NET4发布之前,它们不 能在C#中使用。可选参数允许为方法的一些参数提供默认值,并允许使用者重载类型,因此,即使 只有一个方法,也能处理所有变体。下面是一个例子: public void CreateUser(string firstname, string lastname, bool isAdmin, bool isTrialUser) C#高级编程第7版) 如果要重载这个方法,并为两个bool对象提供默认值,就很容易得到好几个方法,为使用者填 充这些值,然后调用主方法,以实际创建用户。现在通过可选参数,就可以编写下面的代码 public void CreateUser (string firstname, string lastname bool isAdmin false, bool isTrialuser = true 查看这段代码, firstname和 lastname参数没有设置默认值,而 isAdmin和 is Trailuser参数设置 了默认值。使用者现在可以编写如下代码: my Class CreateUser("Bill","Evjen") myClass. CreateUser("Bill",Evjen, true)i Class CreateUser("Bill",Evien", true, false) myClass.CreateUser("Bill",Evjen", isTrailUser: false)i 上一个例子使用了命名参数,这也是在 net Framework的这个版本中C的一个新功能。命名 参数会潜在地改变编写代码的方式这个新功能能使代码更容易阅读和理解。例如看一下 System.IO 名称空间中的 File Copy方法,它一般构建为: File Copy (@"C: \my TestFile. txt",@C: \myotherFile txt",true)i 在这行代码中,这个简单的方法使用3个参数,但实际传递给 Copy方法的是什么内容?除非 知道这个方法的前前后后,否则仅看眼该方法,很难判断出该方法会执行何种操作。而通过命名 参数,就可以在提供参数值之前使用代码中的参数名,如下面的示例所示: File Copy(sourceFileName: @C: \myTestFile txt", destFileName: @"C: \myotherFile. txt, overwrite: true); 现在通过命名参数,就很容易阅读和理解这行代码将执行的操作。使用命名参数对最终的编译 没有影响,命名参数仅用在应用程序的编码中。 协变和抗变 虽然在 NET Framework的以前版本中包含协变和抗变,但它们在NET4中进行了扩展,当处理 泛型、委托等时,它们会执行得更好。例如,在NET的以前版本中,可以对对象和数组使用抗变, 但不能对泛型接口使用抗变。而在NEr4中,就可以对泛型接口使用抗变。 ASPNET MVC ASPNET MVC是 ASPNET最新的主要新增内容,它为开发团队带来了许多惊喜。 ASPNET MVC提供了许多开发人员期待的、使用模型视图控制器来创建 ASPNET的方式。 ASPNET MO 在开发人员构建的应用程序中提供了可测试性、灵活性和可维护性。记住, ASPNET MVC不是每 个人都知道和喜欢的 ASPNET的替代品,而只是构建应用程序的另一种方式。 ASPNET的这个版本允许使用这个新模型构建应用程序,它完全内嵌在 Framework和Ⅴ isual Studio中 前言 C#的优点 C#在某种程度上可以看作是NET面向 Windows环境的一种编程语言。在过去的十几年中, Microsoft给 Windows和 Windows api添加∫许多功能,Ⅴ isual baisc2010和C++也进行了许多扩展。 虽然 Visual baisc和C艹+最终已成为非常强大的语言,但这两种语言也存在问题,因为它们保留了 原来的些遗留内容。 对于 Visual Basic6及其早期版本,它的主要优点是很容易理解,许多编程工作都很容易完成, 从很大程度上对开发人员隐减了 Windows Ap和COM组件结构的详细信息。其缺点是因为Ⅴsual Basic从来没有实现真正意义上的面向对象,所以大型应用程序很难分解和维护。另外,因为sual Baisc的语法继承自BASC的早期版本(BASC主要是为了让刚入门的程序员更容易理解,而不是为 了编写大型商业应用程序),所以不能真正成为结构良好或面向对象的编程语言 另一方面,C++基于ANSC+语言定义。它与ANSI不完全兼容,因为 Micros在ANSI定义 标准化之前编写其C艹编译器,但它已经相当接近。但是,这导致了两个问题。首先, ANSI C++ 是在十几年前的技术条件下开发的,因此它不支持现在的概念(如 Unicode字符串和生成XM文档, 某些古老的语法结构是为以前的编译器设计的(如成员函数的声明和定义是分开的)。其次, Microsoft 同时还试图把C+演变为一种用于在 Windows上执行高性能任务的语言,为此不得不在语言中添加 大量 Microsoft专用的关键字和各种库。其结果是在 Windows上,该语言非常杂乱。让C++开发人 员描述字符串有多少种定义就可以证明这一点:char*、 LPTSTR、 string、 CString(MFC版本)、 CString(WTL版本)、 wchar t*、 OLECHAR*等 现在进入NET时代—一种全新的环境,它对这两种语言都进行了新的扩展。 Microsoft给C++ 添加了许多 Microsoft专用的关键字,并把Ⅴ sual baiso演变为 Visual baisc2010,保留了一些基本的 Visual baisc语法,但在设计上完全不同于原始 sual basic,从实际应用的角度来看,Ⅴ Visual baisc2010 是一种新语言。 在这里, Microsoft决定给开发人员提供另一个选择——专门用于NET具有新起点的一种语言, 即C#。 Microsof在正式场合把c描述为一种简单、现代、面向对象、类型非常安全、派生自C和 C++的编程语言。大多数独立的评论员对C#的描述改为“派生自C、C+和Java”。这种描述在技术 上非常准确,但没有表达出该语言的真正优点。从语法上看,C并非常类似于C++和Java,许多关键 字都相同,C#也使用类似于C艹+和Java的块结构,并用花括号({}来标记代码块,用分号分隔各行 语句。对C#代码的第一印象是它非常类似于C++或Java代码。但在这些表面的类似性后面,C#学 习起来要比C+容易得多,但比Java难一些。其设计比其他语言更适合现代开发工具,它同时具有 Visual basic的易用性,以及C+的高性能、低级内存访问。C#包括以下一些功能: 完全支持类和面向对象编程,包括接口和实现继承、虚函数和运算符重载。 一致且定义完善的基本类型集。 ●对自动生成XML文档的内置支持。 自动清理动态分配的内存 可以用用户定义的属性来标记类或方法。这可以用于文档,对编译有一定的影响(例如,把 方法标记为只在调试版本中编译)。 可以完全访问NET基类库,并易于访问 Windows api(如果实际需要它,这就不常见) C#高级编程(第7版) ●可以使用指针和直接访问内存,但C语言可以在没有它们的条件下访问内存。 ●以Ⅴ isual Basic的风格支持属性和事件。 改变编译器选项,可以把程序编译为可执行文件或NET组件库,该组件库可以用与 ActiveX 控件(COM组件相同的方式由其他代码调用。 C#可以用于编写 aSPnet动态Web页面和 XML Web服务。 应该指出,对于上述大多数功能, Visual baisc2010和 Managed C艹也具备。事实上,虽然C 从一开始就使用NET,但对NET功能的支持不仅更完整,而且在比其他语言更合适的语法环境中 提供了这些功能。C#语言本身非常类似于Java,但其中有一些改进,尤其是,Java并不应用于NT 环境。 在结束这个主题前,还要指出c并的两个局限性。一方面是该语言不适用于编写时间急迫或性能 非常高的代码,例如一个要占用1000或1050个机器周期的循环,并在不需要这些资源时,立即清 理它们。在这方面,C+可能仍是所有低级语言中的佼佼者。另一方面是C#缺乏性能极高的应用程 序所需要的关键功能,包括能够指定那些保证在代码的特定地方运行的内联函数和析构函数。但 这类应用程序非常少 编写和运行C#代码的环境 NET Framework4运行在 Windows XPl20037和最新的 Windows Server2008R2上要使用NET 编写代码,需要安装NET4SDK。 此外,除非要使用文本编辑器或其他第三方开发环境来编写C代码,否则用户几乎肯定也希望 使用 Visual studio2010。运行托管代码不需要安装完整的SDK,但需要NET运行库。需要把NET 运行库和代码分布到还没有安装它的客户端上。 本书内容 ·本书首先在第1章介绍NET的整体体系结构,给出编写托管代码所需要的背景知识,此后本书 分几部分介绍C#语言及其在各个领域中的应用。 第Ⅰ部分C#语言 本部分给出C语言的背景知识。尽管这一部分假定读者是有经验的编程人员,但它没有假设读 者拥有任何特殊语言的知识。首先介绍C并的基本语法和数据类型,再介绍C的面向对象功能,之 后是C#中的一些高级编程主题。 第Ⅱ部分 Visual studio 本部分介绍全世界C开发人员都使用的主要DDE:Ⅴ sual studio02010。本部分的两章探讨使用工 具构建基于 NET Framework4的应用程序的最佳方式,另外,本部分还讨论项目的部署。 第Ⅲ部分基础 本部分介绍在NET环境中编程的规则。特别是安全性、线程、本地化、事务、构建 Windows

...展开详情
试读 127P C#高级编程(第7版)中文完整pdf版 (随书源代码)
立即下载 身份认证后 购VIP低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
  • GitHub

  • 分享宗师

关注 私信
上传资源赚钱or赚积分
最新推荐
C#高级编程(第7版)中文完整pdf版 (随书源代码) 50积分/C币 立即下载
1/127
C#高级编程(第7版)中文完整pdf版 (随书源代码)第1页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第2页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第3页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第4页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第5页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第6页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第7页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第8页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第9页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第10页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第11页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第12页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第13页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第14页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第15页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第16页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第17页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第18页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第19页
C#高级编程(第7版)中文完整pdf版 (随书源代码)第20页

试读结束, 可继续阅读

50积分/C币 立即下载