内容简介
本书非常详细而全面地介绍了C#程序设计语言。本书不是“5分钟学习C#”式的手册,也不是那种教您“照猫画虎”地创建一些与您的实际工作需要或兴趣毫无关系的应用程序,让您“知其然而不知其所以然”的书。那类书籍仅仅非常简单地介绍了一下程序设计语言。本书不是C#语言的入门书籍。本书面向那些已经对C#有了基本了解的读者,可帮助他们进一步掌握和利用C#的高级技术和语言方面的功能。如果您还没有C#的任何经验,建议您先阅读Wrox系列图书中C#语言入门级的书籍。入门级的书籍提供了C#语言的基本知识,可作为掌握C#高级技术的基础。
本书非常详细而全面地介绍了C#程序设计语言。本书不是“5分钟学习C#”式的手册,也不是那种教您“照猫画虎”地创建一些与您的实际工作需要或兴趣毫无关系的应用程序,让您“知其然而不知其所以然”的书。那类书籍仅仅非常简单地介绍了一下程序设计语言。 1.1 本书特点 本书并不像其他那些简单概述C#语言的书(那些书就像全球地图一样,仅提供了各大陆或各个国家的轮廓、或者湖的面貌等等,但没有更详细的信息),本书将从各方面深入介绍C#语言以及设计这些语言特性的目的(还是用地图来做比喻,您将从地球的范围拉近到街道的范围,您将能看到每个街道的名称和建筑物)。 但本书前面几章仍然会花一定的时间来概述C#语言,比如:C#概念、如何开始使用C#、C#语言基础。这几个基础性的章节为深入研究C#各方面的特性提供了一个过渡。 在几个基础性的章节之后,本书将深入研究C#。从介绍C#语言基本概念和语言结构开始,本书将深入探讨C#中的类型、变量和类型转换。在这些章节的基础之上,本书将仔细介绍C#中的表达式和语句,随后介绍了如何在C#中使用命名空间。 接下来本书讲述C#中的类、结构、数组、枚举和委托, 以及C#中的异常、特性(attributes)、泛型(generics)和迭代器。本书正文的最后一章,介绍了C#中安全代码和非安全代码的编码实践。最后,本书提供了一些附录,介绍C#语法、命名规范、可移植性和XML文档注释等。 1.2 本书读者对象 本书不是C#语言的入门书籍。本书面向那些已经对C#有了基本了解的读者,可帮助他们进一步掌握和利用C#的高级技术和语言方面的功能。如果您还没有C#的任何经验,建议您先阅读Wrox系列图书中C#语言入门级的书籍。入门级的书籍提供了C#语言的基本知识,可作为掌握C#高级技术的基础。 1.3 本书内容 从序言开始,本书包含以下内容: ● 第 1章:C#简介。本章简要介绍C#的概念、来源和历史。 ● 第 2章:开始使用C#。开始使用C#编程并不需要太多的软件支持。本章将介绍使用C#编程所必需的软件支持,以及一些让工作更轻松的小技巧。 ● 第 3章:C#语言概述。C#是一种功能强大、非常灵活的程序设计语言,本章将带您快速纵览C#,并对C# 中最重要的语言特性做了强调。 ● 第 4章:C#的语言结构。本章介绍C#的语言结构,着重介绍C#的词法(Lexical grammer)、语法(syntactic grammer)、符号和指令。 ● 第 5章:C#基本概念。本章将介绍C#中的关键概念,比如应用程序的启动和终止、成员及对成员的访问、重载等。 ● 第 6章:类型。从本章开始将介绍C#语言的细节问题,首先是数据类型。本章将讨论值类型(value types)和引用类型(reference types)、以及装箱(boxing)和拆箱(unboxing)。 ● 第 7章:变量。本章将讨论的主题是数据操作的关键:变量。 ● 第8章:转换。本章将讨论C#中的类型转换,如特殊的类型转换、隐式类型转换、显式类型转换、标准的类型转换。 ● 第9章:表达式。表达式是C#编码的关键。本章将讨论C#中的各类表达式。 ● 第10章:语句。通常称一个或多个代码行为一个语句。本章将讨论C#语句的结构并仔细分析C#中各种不同的语句。 ● 第11章:命名空间。本章将讨论C#中如何使用命名空间,使用命名空间有助于消除二义性和解决命名冲突的问题。 ● 第12章:类。本章将讨论类,以及如何在C#中用类来组织代码。 ● 第13章:结构。本章将讨论结构以及如何在C#中使用结构。 ● 第14章:数组。数组是一种重要的数据类型,数组以结构化的方式存储数据,并使之易于访问和使用。本章将讨论C#所支持的各种类型的数组。 ● 第15章:接口。 本章将详细讨论C#中的接口类型。接口的声明、接口的成员、成员签名以及接口的实现。 ● 第16章:枚举。枚举是一种强类型化的常量,本章将讨论枚举类型在C#中的应用。 ● 第17章:委托。本章将介绍C#中委托的声明、实例化及调用。 ● 第18章:异常。本章将详细说明C#中异常的概念、异常的产生、处理和异常类。 ● 第19章:特性。本章将介绍C#中的“特性类”、特性的实例,以及保留的特性。 ● 第20章:泛型。泛型是C# 2005中最有价值的新特性。本章将介绍如何声明和使用泛型类型。 ● 第21章:迭代器。迭代器可以让代码更加精简。本章将详细讨论C#中多种不同的迭代器。 ● 第22章:非安全代码。本章讨论,在不危及项目安全的前提下,如何在C#中充分使用非安全代码特性。 ● 附录A:C#语法。 ● 附录B:命名规范。 ● 附录C:标准库。 ● 附录D:可移值性。 ● 附录E:XML文档注释。 1.4 选择合适的章节阅读 如何阅读本书完全取决与您。如果对C#还不熟悉,最好先阅读本书第1章到第10章,然后您可以根据需要或C#技能的提高选择其他章节阅读。如果您已经是一名C#的开发者,本书更适合做为一本参考手册,而不是从头带尾逐章阅读,可根据需要选择部分章节阅读。 本书附录是有关C#方面的资源和信息,仅供浏览。附录并不需要完全阅读,除非您非常热衷于C#(当然您也可以完全阅读,但请注意我们的提醒)。 1.5 如何下载本书的示例代码: 在读者学习本书中的示例时,可以手工输入所有的代码,也可以使用本书附带的源代码文件。本书使用的所有源代码都可以从本书合作站点上下载。登录到站点/,使用Search工具或使用书名列表就可以找到本书。接着单击本书页面上的Download Code链接,就可以获得所有的源代码。 注释: 许多图书的书名都很相似,所以通过ISBN查找本书是最简单的,本书的ISBN是0-470-04641-4(2007年1月,将使用13位数字的新的出版业标准ISBN:978-0-470-04641-8)。 在下载了代码后,只需用自己喜欢的解压缩软件对它进行解压缩即可。另外,也可以进入/dynamic/books/download.aspx上的Wrox代码下载主页,查看本书和其他Wrox图书的所有代码。 1.6 勘误表 尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是事无完美,错误总是难于避免,如果您在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者节省时间、避免阅读和学习受挫,当然,这还有助于我们提供更高质量的图书。 要在网站上找到本书的勘误表,可以登录,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击Book Errata链接。在这个页面上可以查看到Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是/misc-pages/booklist.shtml。请给wkservice@tup.tsinghua.edu.cn发电子邮件,我们就会检查您的信息,如果是正确的,我们将在本书的后续版本中采用。 1.7 P2P邮件列表是为作者和读者之间的讨论而建立的。读者可以在上加入P2P论坛。该论坛是一个基于Web的系统,用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流。该论坛提供了订阅功能,当论坛上有新贴子时,会给您发送您选择的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论。在上有许多不同的论坛,帮助读者阅读本书,在读者开发自己的应用程序时,也可以从这个论坛中获益。 要加入这个论坛,需执行下面的步骤: (1) 进入,单击Register链接。 (2) 阅读其内容,单击Agree按钮。 (3) 提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮。 然后就可以收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。 提示: 不加入P2P也可以阅读论坛上的信息,但只有加入论坛后,才能发送自己的信息。 加入论坛后,就可以发送新信息,回应其他用户的贴子。可以随时在Web上阅读信息。如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该论坛对应的Subscribe to this Forum图标。 对于如何使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答。要阅读FAQ,可以单击任意P2P页面上的FAQ链接。