C#程序设计语言 - (EPUB全文下载)
文件大小:2.4 mb。
文件格式:epub 格式。
书籍内容:
译者序
C#一直是程序员使用.NET的主要方式。如果离开了C#,.NET平台的强大也就无从谈起了,想要获得哪怕是今天一半的成功,可能也是根本没有希望的。C#从一开始就把.NET提升到了一个非常高的成功起点上。随着.NET的不断发展,C#的重要性也与日俱增。在共同发展的过程中,C#也开发出了大量优秀的与平台无关的语言特性,从而与.NET平台自身的创新交相辉映,成为一对最佳拍档。
C#4.0是对C#3.0的进一步完善和扩展,它在C#3.0的基础上又引入了以动态语言为主的新特色,例如,C#4.0加入了dynamic关键字,可以将变量的static类型声明为dynamic,虽然名为dynamic,但它还属于一种静态类型,而把静态类型声明为dynamic之后,该类型的操作就只会在运行时进行解析,我们从中不难看出JavaScript的身影,这也标志着它离动态语言又近了一步,使得开发人员的编程效率得到进一步提高。这说明,虽然C#从本质上说仍然属于一种静态语言,但是对象的意义已经不再是纯粹的静态对象了,它们开始有了动态特征,这既体现在它们的结构上,也体现在它们的行为上,至少从编译器的角度来看是这样的。
本书无疑是讲解C#4.0的经典之作,我想这一点各位读者早就赞同了,无须我再赘述。本书还有一大特色就是贯穿全书的注解,正如Don Box所说“每个.NET程序员在读这本书的时候都至少会有一次‘啊,原来如此’的感叹”,而我发现这些注解是引起我发出这样的感叹最多的地方。在本书中,各位C#专家提供了新一轮更深入的见解,堪称点睛之笔。
本书由黄俊莲、陈宝国、马燕新翻译完成。由于译者水平有限,在翻译过程中难免会有一些错误,恳请读者批评指正。
译者
2011年4月
序言
自2000年夏.NET发布以来,已经过去十个年头了。在我看来,当时.NET最重要的两点就是结合了托管代码的本地执行和用于程序之间通信的XML消息机制。然而那个时候我还没有意识到C#会变得那么重要。
C#从一开始就是程序员理解和使用.NET的主要方式。如果你问一个普通的.NET程序员,一个值类型和一个引用类型的区别是什么,他会不假思索地回答“结构和类的区别”,而不会回答“一个是从System.ValueType继承的类型,而另一个不是从System.ValueType继承的类型”。原因何在?因为我们都是用语言,而不是通过API来和运行时(更重要的是,和其他人)交流想法和意图的。
如果没有一门出色的语言,一个平台要想成功是不可能的。C#最初就为人们如何看待.NET打下了坚实的基础。随着.NET的不断发展,C#的重要性也与日俱增,诸如迭代器和真正的闭包(也称为匿名方法),都是用C#编译器实现的纯语言特性,而不是平台自带的特性。C#3.0的发布更意味着C#成为了.NET不断创新的主角,它引入了标准化的查询操作符,简洁的lambda表达式、扩展方法,以及在运行时访问表达式树的能力,而这些都是通过语言和编译器的开发实现的。C#4.0最重要的特性(动态调用)也主要是语言和编译器的特性,而不是对CLR自身的改进。
说到C#就一定会提到它的缔造者Anders Hejlsberg,他像一位牧羊人一样坚守着他创造的这门语言。我非常荣幸地在C#3.0设计阶段连续好几个月参加了C#的设计会议,Anders的工作让我大开眼界。他有着出色的天赋,深谙程序员喜欢什么和不喜欢什么,同时他又能和设计团队紧密合作,并最终获得最佳的设计方案。
特别是在C#3.0上,在从函数式语言社区获取灵感并将它们带给广大开发者的过程中,Anders展现出了无与伦比的能力,要知道这绝对不是一件容易的事情。Guy Steele曾经在谈论Java时说道:“我们没打算要吸引Lisp程序员,我们的目标是C++程序员。我们成功地把他们从转向Lisp的路上吸引过来。”当我看到C#3.0的时候,我就知道C#已经至少获得了一名C++程序员(就是我自己啦)的青睐。C#4.0向着Lisp(以及JavaScript、Ptython、Ruby等)又靠近了一步,它增加了在不依赖静态类型定义的情况下编写程序的能力。
虽然C#很出色,但是为了理解它的精妙之处,并确保所有人都使用一个一致的C#,我们还是需要有一个参考文档—一个用自然语言(也就是英语)写成的并遵守一种统一范式(BNF范式)的文档。而你手中的这本书正是这样的一份文档。根据我的经验,我敢说每个.NET程序员在读本书时都至少会有一次“啊,原来如此”的感叹,它能让你的专业水平更上一层楼。
请享受阅读本书所带来的快乐吧。
Don Box
雷德蒙,华盛顿
2010年5月
前言
C#项目始于12年前的1998年12月,当初的目标是要为全新的(还未命名的).NET平台创建一种简单、现代化、面向对象和类型安全的编程语言。一路走来,C#也算是历经坎坷。现在这门语言已经拥有超过一百万的程序员,发布了4个版本,其中每一个版本都加入了许多重要的新特性。
本书也同样出到了第4版。它提供了C#编程语言的完整技术规范,而且有两点内容是前几版没有的。当然,最显著的就是它涵盖了C#4.0的新特性,包括动态绑定、指定和可选参数以及协变(covariant)与逆变(contravariant)泛型。这一版修订的主要目的是加强C#与.NET环境外部的对象之间的交互。C#3.0中的LINQ使得用来访问外部数据源的代码的语言集成度更高,与之相比,C#4.0的动态绑定使得C#与那些来自动态编程语言(例如Python、Ruby和JavaScript)的对象之间的交互更加自然,就好像是在与C#的本地对象进行交互一样。
在本书的前一版中,一些著名的C#专家提供了大量的注解。我们不断收到这方面的积极反馈,而且也很高兴在这一版中融入了一些新的和原来的注解者提供的新一轮更深入、更有趣的见解、指导、背景和观点。我们也非常高兴地看到这些注解和本书的核心内容相辅相成,让C#的特性跃然纸上。
创建C#语言是很多人共同努力的结果。C#1.0的设计团队由Ander ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » C#程序设计语言 - (EPUB全文下载)