资深C# MVP扛鼎之作 深入理解语言特性,探究本源 .NET开发人员必读经典
《深入理解C#(第3版)》是C#领域不可多得的经典著作。作者在详尽地展示C#各个知识点的同时,更注重从现象中挖掘本质。《深入理解C#(第3版)》深入探索了C#的核心概念和经典特性,并将这些特性融入到代码中,让读者能够真正领会到C#之“深入”与“精妙”。在第2版的基础上,《深入理解C#(第3版)》新增了C# 5的新特性——异步,并更新了随着技术的发展,已经不再适用的内容,确保整本书能达到读者期望的高标准。 如果你略微了解一点C#,就可无障碍地阅读《深入理解C#(第3版)》。
Jon Skeet,谷歌软件工程师,微软资深C# MVP,拥有10余年C#项目开发经验。自2002年以来,他一直是C#社区、新闻组、国际会议和Stack Overflow网站上非常活跃的技术专家,回答了数以万计的C#和.NET相关问题。
★“学习C#语言特性的很好资源。” ——Andy Kirsch,Venga ★“本书使我的C#水平更上一层楼。” ——Dustin Laine,Code Harvest
★“每一位.NET开发人员都至少应该阅读一遍的案头必备图书。” ———Dror Helper,Better Place ★“本书无疑是我读过的很好C#参考书。” ——Jon Parish,Datasift
世上有两类钢琴家。 一类钢琴家弹琴并不是因为他们喜欢,而是因为父母强迫他们上钢琴课。另一类钢琴家弹琴是因为他们喜欢音乐,想创作音乐。他们不需要被强迫,相反,他们陶醉其中,时常忘记什么时候要停下来。 后一类人中,有人是把弹钢琴当作一种爱好。而有人则是为了生活,因此更需要投入、技巧和天赋。他们有一定的灵活性来选择弹奏哪些音乐流派和风格,不过这些选择主要还是由雇主的需要或者听众的口味来决定的。 后一类人中,有人主要就是为了钱,但也有一些专业人士即便没有报酬,也愿意在公共场合弹奏钢琴。他们喜欢运用自己的技巧和天赋为别人演奏音乐。在这个过程中,他们能找到许多乐趣。如果同时还有报酬,当然更是锦上添花。 后一类人中,有人是自学成材的,他们演奏乐曲是不看谱的。这些人有极高的天赋和能力,但除非通过音乐本身,否则无法向别人传递那种直观的感受。还有一些人无论在理论还是实践上都经过了正统的训练,他们能清楚地理解作曲家是用什么手法得到预期的情绪效果,并相应地改进自己的演绎手法。 后一类人中,有人从来没有打开钢琴看它的内部构造。还有一些人则对钢琴的发声原理好奇不已,最后发现是由于杠杆装置和绞盘在音锤敲击琴弦前的瞬间,牵引制音器的擒纵器,他们为弄明白由5 000~10 000个运动机件组成的这个乐器装置而感到高兴和自豪。 后一类人中,有人会对自己的手艺和成就心满意足,对它们带来的心灵上的愉悦和经济上的收入感到非常满意。但是,还有一些人不仅仅是艺术家、理论家和技师,他们会抽时间以导师的身份,将那些知识传授给其他人。 我不知道Jon Skeet是哪一类钢琴家。但是,我与这位微软C# MVP有多年的电子邮件交流,并经常看他的博客。我本人至少3遍逐字读完他的这本书,我清楚地知道Jon是后一种软件开发者:热情、博学、天资极高、有好奇心以及善于分析——是其他人的好老师。 C#是一种极为实用和快速发展的语言。通过添加查询能力、更丰富的类型推断、精简的匿名函数语法,等等,一种全新风格的编程语言已出现在我们的面前。与此同时,它代表的仍然是一种静态类型的、面向组件的开发方式,C#取得成功的立足之本没有变。 许多新元素会让人有矛盾的感觉。一方面,它们会显得比较“旧”(Lambda表达式可以追溯到20世纪上半叶计算机科学奠基的年代)。与此同时,对于那些习惯了现代面向对象编程的开发者,它们又可能显得太新和太不熟悉。 Jon掌控了一切。对于需要理解C#最新版本“是什么”和“怎么做”的专业开发者,本书是理想的选择。此外,如果开发者还探索语言为什么要这样设计,从而加深他们对语言的理解,那么本书更是独一无二的。 为了利用语言提供的所有新能力,需要以全新的方式思考数据、函数以及它们之间的关系。这有点儿像经过多年的古典乐训练之后,开始尝试演奏爵士乐——或者相反。不管怎样,我期待下一代C#程序员能够“谱写”出优秀的乐章。祝你“谱曲”愉快,并感谢你选用了C#这个“主调”。 Eric Lippert Coverity C#分析架构师