编程人员往往喜欢精益求精,他们总是不断地想方设法提高程序的性能、效率和可移植性。因此,他们对所使用的工具同样也要求甚多,特别是对编程语言的选择。编程语言的种类很多,但只有一小部分是优秀的语言。优秀的编程语言往往功能强大而又灵活,语法简洁且清晰;能够为创建正确的代码提供极大的帮助,而不是设置障碍;能够不断地支持最新的功能,而不是逐渐被淘汰出局。最重要的是,优秀的编程语言注定会有这样一种无形的品质:让程序员在使用时感觉良好。C#就是这样一种编程语言。 C#是Microsoft为支持.NET Framework而创建的语言,它建立在丰富的编程资源之上,其首席设计师是长期以来公认的软件大师Anders Hejlsberg。C#继承了至今世界上最成功的两种计算机语言:C和C++,它继承了C语言的语法、部分关键字和运算符,并以C++定义的对象模型为基础加以改进。C#还与另一种非常成功的语言Java有紧密关系。 C#和Java有共同的起源,像双胞胎一样,但是在许多重要方面两者也有所不同,因此C#和Java更像是堂兄弟。例如,两者都支持分布式编程,并且都使用中间代码获得安全性和可移植性,但是两者的实现细节是不同的。它们都提供了大量运行时错误检查、安全性和托管执行,但是同样在细节方面有所区别。然而,与Java不同的是,C#提供了对指针的访问--指针是C++支持的一种功能。因此,C#将C++的原始功能与Java的类型安全性组合在一起。而且,它在安全性和功能之间达到了最佳平衡,并且实现了透明化。 在计算技术变革的历史中,为了适应计算环境的变化、计算机语言的发展以及人们在思维方式和编程方式上的改变,编程语言得到了不断的发展,C#也不例外。在不断的改进、改编和创新过程中,C#已经展示了它能不断满足现代编程人员需求的能力。随着2000年Microsoft发布最初的C# 1.0版本以来不断向该语言添加许多新的功能就是最好的证明。 C# 2.0是C#语言的第一个重大修订版本,该版本通过增加一系列的新功能来使编程人员更容易地编写更有弹性、更可靠和更高效的代码。毫无疑问,C# 2.0中增加的最重要的功能是泛型。通过使用泛型,在C#中创建类型安全的、可重用的代码成为可能。因此,泛型的添加从根本上扩展了C#语言的功能和作用范围。 C#语言的第二个重大修订版本就是C# 3.0。毫不夸张地说,C# 3.0添加的功能已经重新定义了C#的核心部分,同时在此过程中提高了计算机语言开发的门槛。在C# 3.0的许多创新功能中,最具代表性的两个功能是LINQ和Lambda表达式。LINQ代表语言集成查询,它允许通过使用C#语言的元素创建数据库样式的查询。Lambda表达式则实现函数样式的语法,它使用Lambda运算符=>,并且频繁用于LINQ表达式中。 C#语言的第三个重大修订版本就是C# 4.0,也是本书将要介绍的版本。C# 4.0构建在前面几个版本的基础之上,提供了大量简化普通编程任务的新功能。例如,它添加了命名实参和可选实参,该功能使得某些类型的方法调用变得更便利。它添加了dynamic关键字,这使得C#可用于数据类型是在运行时获得的情形(如使用COM接口或反射时)。C#原先就支持的协变和逆变功能现在扩展至用于类型形参。通过对.NET Framework(C#的类库)进行增强,任务并行库(TPL)和并行LINQ(PLINQ)提供了对并行编程的支持。使用这些子系统可以很容易创建可自动扩展以更好地利用多核计算机的代码。因此,随着C# 4.0的发布,C#将可以利用高性能的计算平台。 由于C#能够快速适应编程领域中不断变化的需求,因此它始终是充满活力的、不断创新的语言。总之,C#已成为现代计算中最为强大的、功能最为丰富的一种语言,任何程序员都不能忽略它的存在。编写本书的目的就是帮助读者掌握C#语言。 内容简介 本书介绍了C# 4.0,全书分为两个部分。第Ⅰ部分全面讨论了C#语言,包括C# 4.0版本中增加的新功能。这是全书内容比重最大的一部分,它描述了关键字、语法和一些定义C#语言的功能,并且介绍了I/O操作、文件处理、反射和预处理器。 第Ⅱ部分研究了C#类库,同时也是.NET Framework类库。这是一个庞大的类库,由于篇幅有限,本书不可能深入探讨整个.NET Framework类库,而只能集中地讨论System名称空间中包含的核心类库。另外,该部分还包括对集合、多线程、任务并行库、PLINQ和联网的介绍。这些是类库中几乎每个C#编程人员都会用到的部分。 读者对象 本书的读者无须具有任何编程经验。如果您已掌握C++或者Java语言,那么阅读本书时将毫不费力,因为C#和这两种语言有很多共同之处。如果之前没有任何编程经验,您也能够通过对本书的学习逐渐掌握C#语言,但需要仔细研究每章中的示例。 编程环境 必须使用Visual Studio 2010或更高版本编译和运行C# 4.0程序。 在线源代码下载 本书中所有程序的源代码都可以从和www.tupwk.com.cn/downpage网站上免费获得。 反馈信箱 《C# 4.0完全参考手册》是Herb Schildt系列编程书籍之一,Herbert Schildt网站上展示了更多他所编著的书籍,并提供了他的联系方式。最后,请将您的反馈意见发送至:wkservice@tup.tsinghua.edu.cn,我们将不胜感激。 进阶学习 《C# 4.0完全参考手册》是Herbert Schildt系列编程书籍之一,下面列出了其他一些有用的书籍: 要学习Java编程,我们推荐下列书籍: Java:The Complete Reference Java: A Beginner’s Guide Swing: A Beginner’s Guide The Art of Java Herb Schildt’s Java Programming Cookbook 要学习C++,下列书籍特别有用: C++:The Complete Reference C++: A Beginner’s Guide C++ From the Ground Up STL Programming From the Ground Up The Art of C++ Herb Schildt’s C++ Programming Cookbook 如果想学习更多有关C语言的内容,那么我们推荐如下书籍: C:The Complete Reference