C#高级编程(第6版)(本书以.NET3.5 和VS 2008为基础)
基本信息
- 原书名: Professional C# 2008
- 原出版社: Wrox
- 作者: (美)Christian Nagel Bill Evjen Jay Glynn [作译者介绍]
- 译者: 李铭
- 出版社:清华大学出版社
- ISBN:9787302184959
- 上架时间:2008-11-11
- 出版日期:2008 年10月
- 开本:16开
- 页码:1557
- 版次:6-1
- 所属分类:
计算机 > 软件与程序设计 > C#
编辑推荐
C#经典名著.
C#超级畅销书..
曾荣获多个大奖
最详实的C#教程...
推荐阅读
内容简介回到顶部↑
c#经典名著!也是wrox皮书中最畅销的品种之一,从第1版开始就名满天下:其第3版被中华读书报、csdn、《程序员》等机构评选为2005年最权威的十大it图书之一;在中国版协、中国出版科学研究所、《出版参考》杂志组织的“2005年度输出版、引进版优秀图书”评选活动中获得“2005年度引进版科技类优秀图书”奖其第4版被多家it相关机构和媒体联合评为“2006年最受读者喜爱的十大技术开发类图书”。
第6版面向c#2008和,net 3.5,在全面展示,net和c#新特性的同时继续完善原有的内容,是有一些c#基础知识的读者或者想迁移到c#的其他程序员全面掌握c#2008的首选教程。
第6版面向c#2008和,net 3.5,在全面展示,net和c#新特性的同时继续完善原有的内容,是有一些c#基础知识的读者或者想迁移到c#的其他程序员全面掌握c#2008的首选教程。
作译者回到顶部↑
本书提供作译者介绍
李铭,信息管理专业硕士,拥有近8年的系统开发经验,曾开发过监考系统、宽带教学系统、人员管理系统和综合业务系统等,现就职于某部队研究所,从事.NET、Oracle和Linux等方面的开发和管理工作,曾发表过多篇计算机专业论文,也翻译和编写过几部著作。
黄静,计算机专业博士,在程序设计、软件工程和网络安全等方面有着多年的研究和实战经验,曾为.NET技术在国内的推广作出了重要贡献,翻译和发表了多篇有关.NET的技术文档或文章。
.. << 查看详细
黄静,计算机专业博士,在程序设计、软件工程和网络安全等方面有着多年的研究和实战经验,曾为.NET技术在国内的推广作出了重要贡献,翻译和发表了多篇有关.NET的技术文档或文章。
.. << 查看详细
目录回到顶部↑
第ⅰ部分 c# 语言
第1章 .net体系结构
1.1 c#与.net的关系
1.2 公共语言运行库
1.2.1 平台无关性
1.2.2 提高性能
1.2.3 语言的互操作性
1.3 中间语言
1.3.1 面向对象和接口的支持
1.3.2 相异值类型和引用类型
1.3.3 强数据类型
1.3.4 通过异常处理错误
1.3.5 特性的使用
1.4 程序集
1.4.1 私有程序集
1.4.2 共享程序集
1.4.3 反射
1.5 .net framework类
1.6 命名空间
1.7 用c#创建.net应用程序
第1章 .net体系结构
1.1 c#与.net的关系
1.2 公共语言运行库
1.2.1 平台无关性
1.2.2 提高性能
1.2.3 语言的互操作性
1.3 中间语言
1.3.1 面向对象和接口的支持
1.3.2 相异值类型和引用类型
1.3.3 强数据类型
1.3.4 通过异常处理错误
1.3.5 特性的使用
1.4 程序集
1.4.1 私有程序集
1.4.2 共享程序集
1.4.3 反射
1.5 .net framework类
1.6 命名空间
1.7 用c#创建.net应用程序
前言回到顶部↑
对于开发人员来说,把C#语言及其相关环境.NET Framework描述为多年来最重要的新技术一点都不夸张。.NET提供了一种新环境。在这个环境中,可以开发出运行在Windows上的几乎所有应用程序,而C#是专门用于.NET的新编程语言。例如,使用C#可以编写出动态Web页面、XML Web服务、分布式应用程序的组件、数据库访问组件、传统的Windows桌面应用程序,甚或可以联机/脱机运行的新型智能客户应用程序。本书介绍.NET Framework 3.5版。如果读者使用1.0、1.1、2.0或3.0版本编码,本书的一些章节就不适用。本书将标注出只适用于.NET Framework 3.5的新增内容。.
不要被.NET这个名称所愚弄,这个名称仅强调Microsoft相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上,但C#不仅仅是编写Internet或与网络相关的应用程序的一种语言,它还提供了一种编写Windows平台上几乎任何类型的软件或组件的方式。另外,C#和.NET都对编写程序的方式进行了革新,更易于实现在Windows上的编程。
这是一个相当重要的声明。毕竟,我们都知道计算机技术的发展速度非常快,每年Microsoft都会推出新软件、新的编程工具或Windows的新版本,并宣称这些对开发人员都非常有用,.NET和C#也不例外。
.NET和C#的重要性
为了理解.NET的重要性,了解一下近10年来出现的许多Windows技术的本质,会有一定的帮助。尽管所有的Windows操作系统在表面上看来完全不同,但从Windows 3.1(1992年)到Windows Server 2008,在内核上都有相同的Windows API。在我们转而使用Windows的新版本时,API中增加了非常多的新功能,但这是一个演化和扩展API的过程,并非替换它。
开发Windows软件所使用的许多技术和架构也是这样。例如,COM(Component Object Model,组件对象模型)是作为OLE(Object Linking and Embedding,对象链接和嵌入)开发出来的。那时,它在很大程度上仅是把不同类型的Office文档链接在一起,所以利用它可以把一个小Excel电子表格放在Word文档中。之后,它逐步演化为COM、DCOM(Distributed COM,分布式组件对象模型)和最终的COM+。COM+是一种复杂的技术,它是几乎所有组件通信方式的基础,实现了事务处理、消息传输服务和对象池。
Microsoft选择这条道路的原因非常明显:它关注向后的兼容性。在过去的这些年中,第三方厂商编写了相当多的Windows软件,如果Microsoft每次都引入一项不遵循现有编码规则的新技术,Windows就不会获得今天的成功。
向后兼容性是Windows技术的极其重要的特性,也是Windows平台的一个长处。但它有一个很大的缺点:每次某项技术进行演化增加了新功能后,都会比它以前更复杂。
很明显,对此必须进行改进。Microsoft不可能一直扩展这些开发工具和语言,使它们越来越复杂,既要保证能跟上最新硬件的发展步伐,又要与20世纪90年代初开始流行的Windows产品向后兼容。如果要得到一种简单而专业化的语言、环境和开发工具,让开发人员轻松地编写优秀的软件,就需要一种新的开端。
这就是C#和.NET的作用。粗略地说,.NET是一种在Windows平台上编程的新架构—— 一种新API。C#是一种全新的语言,它可以利用.NET Framework及其开发环境中的所有新特性,以及在最近20年来出现的面向对象的编程方法。
在继续介绍前,必须先说明,向后兼容性并没有在这个演化进程中失去。现有的程序仍可以使用,.NET也兼容现有的软件。软件组件在Windows上的通信,现在几乎都是使用COM实现的。因此,.NET能够提供现有COM组件的包装器(wrapper),以便.NET组件与之通信。
我们不需要学习了C#才能给.NET编写代码,因为Microsoft已经扩展了C++,提供了一种新语言J#,还对Visual Baisc进行了很多改进,把它转变成了功能更强大的Visual Baisc .NET,并允许把用这些语言编写的代码用于.NET环境。但这些语言都因有多年演化的痕迹,所以不能完全用现在的技术来编写。
本书将介绍C#编程技术,同时提供.NET体系结构工作原理的必要背景知识。我们不仅会介绍C#语言的基础,还会给出使用各种相关技术的应用程序示例,包括数据库访问、动态的Web页面、先进的图形技术和目录访问等。唯一的要求是用户至少熟悉一门在Windows上使用的高级语言,例如C++、Visual Baisc或J++。
.NET的优点
前面阐述了.NET的优点,但并没有说它会使开发人员的工作更易完成。本节将简要讨论.NET的改进特性。
●面向对象的编程:.NET Framework和C#从一开始就完全是基于面向对象的。
●优秀的设计:一个基类库,它是以一种非常直观的方式设计出来的。
●语言的无关性:在.NET中,Visual Baisc .NET、C#、J#和Managed C++等语言都可以编译为通用的中间语言(Intermediate Language)。这说明,语言可以用以前没有的方式交互操作。
●对动态Web页面的更好支持:ASP具有很大的灵活性,但效率不是很高,这是因为它使用了解释性的脚本语言,且缺乏面向对象的设计,从而导致ASP代码比较凌乱。.NET使用一种新技术ASP.NET,为Web页面提供了一种集成式的支持。使用ASP.NET,可以编译页面中的代码,这些代码还可以使用.NET高级语言来编写,例如C#或Visual Baisc 2008。
●高效的数据访问:一组.NET组件,统称为ADO.NET,提供了对关系数据库和各种数据源的高效访问。这些组件也可以访问文件系统和目录。.NET内置了XML支持,可以处理从非Windows平台导入或导出的数据。
不要被.NET这个名称所愚弄,这个名称仅强调Microsoft相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上,但C#不仅仅是编写Internet或与网络相关的应用程序的一种语言,它还提供了一种编写Windows平台上几乎任何类型的软件或组件的方式。另外,C#和.NET都对编写程序的方式进行了革新,更易于实现在Windows上的编程。
这是一个相当重要的声明。毕竟,我们都知道计算机技术的发展速度非常快,每年Microsoft都会推出新软件、新的编程工具或Windows的新版本,并宣称这些对开发人员都非常有用,.NET和C#也不例外。
.NET和C#的重要性
为了理解.NET的重要性,了解一下近10年来出现的许多Windows技术的本质,会有一定的帮助。尽管所有的Windows操作系统在表面上看来完全不同,但从Windows 3.1(1992年)到Windows Server 2008,在内核上都有相同的Windows API。在我们转而使用Windows的新版本时,API中增加了非常多的新功能,但这是一个演化和扩展API的过程,并非替换它。
开发Windows软件所使用的许多技术和架构也是这样。例如,COM(Component Object Model,组件对象模型)是作为OLE(Object Linking and Embedding,对象链接和嵌入)开发出来的。那时,它在很大程度上仅是把不同类型的Office文档链接在一起,所以利用它可以把一个小Excel电子表格放在Word文档中。之后,它逐步演化为COM、DCOM(Distributed COM,分布式组件对象模型)和最终的COM+。COM+是一种复杂的技术,它是几乎所有组件通信方式的基础,实现了事务处理、消息传输服务和对象池。
Microsoft选择这条道路的原因非常明显:它关注向后的兼容性。在过去的这些年中,第三方厂商编写了相当多的Windows软件,如果Microsoft每次都引入一项不遵循现有编码规则的新技术,Windows就不会获得今天的成功。
向后兼容性是Windows技术的极其重要的特性,也是Windows平台的一个长处。但它有一个很大的缺点:每次某项技术进行演化增加了新功能后,都会比它以前更复杂。
很明显,对此必须进行改进。Microsoft不可能一直扩展这些开发工具和语言,使它们越来越复杂,既要保证能跟上最新硬件的发展步伐,又要与20世纪90年代初开始流行的Windows产品向后兼容。如果要得到一种简单而专业化的语言、环境和开发工具,让开发人员轻松地编写优秀的软件,就需要一种新的开端。
这就是C#和.NET的作用。粗略地说,.NET是一种在Windows平台上编程的新架构—— 一种新API。C#是一种全新的语言,它可以利用.NET Framework及其开发环境中的所有新特性,以及在最近20年来出现的面向对象的编程方法。
在继续介绍前,必须先说明,向后兼容性并没有在这个演化进程中失去。现有的程序仍可以使用,.NET也兼容现有的软件。软件组件在Windows上的通信,现在几乎都是使用COM实现的。因此,.NET能够提供现有COM组件的包装器(wrapper),以便.NET组件与之通信。
我们不需要学习了C#才能给.NET编写代码,因为Microsoft已经扩展了C++,提供了一种新语言J#,还对Visual Baisc进行了很多改进,把它转变成了功能更强大的Visual Baisc .NET,并允许把用这些语言编写的代码用于.NET环境。但这些语言都因有多年演化的痕迹,所以不能完全用现在的技术来编写。
本书将介绍C#编程技术,同时提供.NET体系结构工作原理的必要背景知识。我们不仅会介绍C#语言的基础,还会给出使用各种相关技术的应用程序示例,包括数据库访问、动态的Web页面、先进的图形技术和目录访问等。唯一的要求是用户至少熟悉一门在Windows上使用的高级语言,例如C++、Visual Baisc或J++。
.NET的优点
前面阐述了.NET的优点,但并没有说它会使开发人员的工作更易完成。本节将简要讨论.NET的改进特性。
●面向对象的编程:.NET Framework和C#从一开始就完全是基于面向对象的。
●优秀的设计:一个基类库,它是以一种非常直观的方式设计出来的。
●语言的无关性:在.NET中,Visual Baisc .NET、C#、J#和Managed C++等语言都可以编译为通用的中间语言(Intermediate Language)。这说明,语言可以用以前没有的方式交互操作。
●对动态Web页面的更好支持:ASP具有很大的灵活性,但效率不是很高,这是因为它使用了解释性的脚本语言,且缺乏面向对象的设计,从而导致ASP代码比较凌乱。.NET使用一种新技术ASP.NET,为Web页面提供了一种集成式的支持。使用ASP.NET,可以编译页面中的代码,这些代码还可以使用.NET高级语言来编写,例如C#或Visual Baisc 2008。
●高效的数据访问:一组.NET组件,统称为ADO.NET,提供了对关系数据库和各种数据源的高效访问。这些组件也可以访问文件系统和目录。.NET内置了XML支持,可以处理从非Windows平台导入或导出的数据。
书摘回到顶部↑
第Ⅰ部分 C# 语言
第1章 .NET体系结构
我们不能孤立地使用C#语言,而必须和.NET Framework一起考虑。C#编译器专门用于NET,这表示用C#编写的所有代码总是在.NET Framework中运行。对于#语言来说,可以得出两个重要的结论:
(1)C#的结构和论反映了NET基础方法论。
(2)在许多情况下,C#的特定语言功能取决于NET的功能,或依赖于NET基类。
……
第1章 .NET体系结构
我们不能孤立地使用C#语言,而必须和.NET Framework一起考虑。C#编译器专门用于NET,这表示用C#编写的所有代码总是在.NET Framework中运行。对于#语言来说,可以得出两个重要的结论:
(1)C#的结构和论反映了NET基础方法论。
(2)在许多情况下,C#的特定语言功能取决于NET的功能,或依赖于NET基类。
……


点击看大图







加载中...