C# 4.0捷径教程
2011-1
人民邮电出版社
纳什
497
刘新军
无
对熟悉其他面向对象语言的人来说,Visual C#.NET(C#)学习起来相对容易。熟悉VisualBasic6.0的人想学一门面向对象语言,也会发现C#很容易上手。然而,尽管c群和.NET框架为创建简单应用提供了一条捷径,但为了开发复杂、健壮和容错的C#应用,你还是需要掌握很多的信息并理解怎样正确地使用它们。本书将教给你需要掌握的知识,并解释如何最好地运用这些知识来快速掌握真正的C#专业技能。学会习惯用法和设计模式对培养和应用专业技能有不可估量的作用,本书将展示怎样使用它们来创建高效、健壮、容错和异常安全(exception-safe)的应用程序。虽然Java.和c++程序员对于其中的许多模式都比较熟悉,但有一些是.NET和公共语言运行库(CLR)独有的。本书后面的章节会展示如何应用这些必不可少的习惯用法和设计模式,将C#应用程序与.NET运行库无缝整合起来,重点将放在C#3.0的新功能上。设计模式记录的是许多程序员在应用程序设计中反复采用的最佳实践。事实上,.NET框架本身就实现了许多众所周知的设计模式。同样,在过去的.NET框架的三个版本和C#的两个版本中,许多新的习惯用法和最佳实践也已经广为人知,你会看到本书对这些实践的详细描述。另外,值得注意的是,重要的技术工具库也在不断革新。随着C#3.0的到来,可以使甩lambda表达式、扩展方法和语言集成查询(Language Integrated Query,LINQ)方便地进行函数式编程。lambda表达式可以方便地在某个点声明和实例化函数委托(function delegate)。另外,有了1ambdai表达式,创建functional就是小菜一碟。functional是以函数作为参数并返回另一个函数的函数。即使你之前可以在c群里面实现函数式编程(虽然还是有点困难),但C#3.0里面的新语言特性提供了一个新的环境,在这里函数式编程和典型的命令式编程可以和谐共存。LINQ允许使用这种语言的语法来表示数据查询操作(这本质上也是functional)。一旦知道了LINQ的工作原理,你就会意识到你能做的远远不止简单的数据查询,还可以用它来实现复杂的函数式编程。.NET和CLR提供了一个独特和稳定的跨平台执行环境。C#只是针对这一有效运行时的语言之一,但是你会发现本书探讨的技术也适用于任何针对.NET运行时的语言。
本书是经典教程的全面升级,通过许多精彩的示例介绍了c# 语言的每个新特性,深入浅出地讲解了c# 语言的核心概念,以及如何聪明地应用c# 的习惯用法和面向对象的设计模式来挖掘c# 和clr 的能力。这一版还介绍了c# 4.0 中新加入的动态类型,它简化了与包括com automation 对象在内的动态.net语言的集成。联合使用动态类型和expandoobject 这样的dlr 类型,你可以在c# 里创建并实现真正的动态类型,本书所探讨的技术也适用于任何针对.net 运行时的语言。本书适合有一定编程经验的程序员阅读。
Trey Nash是微软全球平台专家服务团队的资深专家工程师。加入微软之前,他是Credant科技安全解决方案方面的首席软件工程师,同时还在一家为微软Vista提供蓝牙解决方案的大型蓝牙公司兼职。在转向.NET之前,他擅长使用C/C++/ATL开发COM/DCOM。
第1章 c#预览 第2章 c# 和clr 第3章 c#语法概述 第4章 类、结构和对象 第5章 接口和契约 第6章 重载操作符 第7章 异常处理和异常安全 第8章 使用字符串 第9章 数组、集合类型和迭代器 第10章 委托、匿名方法和事件 第11章 泛型 第12章 c#中的线程 第13章 c#规范形式探索 第14章 扩展方法 第15章 lambda表达式 第16章 linq:语言集成查询 第17章 dynamic类型
插图:在C++的应用程序中调用库,需要两个文件:一个静态库或DLL文件,以及(通常来说)一个头文件。它们是两个独立的文件,而又必须作为整体来处理,因此一旦不小心,头文件和库文件完全可能不同步。这将带来灾难性的后果。而托管模块中的元数据包含了所有必需的信息。托管世界中的可重用单元是程序集,程序集可以由多个模块构成。因此程序集实际上也是自描述的。元数据也是可扩展的,用户可以在元数据中定义新的类型和属性。更重要的是,元数据可以在运行时使用。例如,即使之前或编译时不知道类的声明,你也能在运行时迭代任意的类类型的所有域。敏锐的读者会发现,这使整个程序和类型能够在运行时产生,而本地C++无法做到这一点,除非将C++编译器全部集成到应用程序中。元数据是一种描述程序集内容的可扩展格式。如果其表现力不能满足需求,可以很容易地在元数据中为某个类型定义一个新的定制“属性”。在托管世界中,元数据几乎能放在程序的每个有类型的实体——类、方法、参数、返回值及程序集等中。你可以从System. Attrlbute类中派生出自定义属性,之后将它与程序集中的任意实体关联。有了元数据,用户可以访问、检查类型的定义和类型的属性。元数据能够在试图调用之前告诉用户特定对象的类是否支持某个方法,也能知道某个类是否从另一个类派生而来。检查元数据的过程称为反射。当反射程序集中的类型时,通常会从System. Type对象开始。用C#中的type of关键字,调用System. Assembly. Get,Type()以及另外一些方法,你可以获取一些类型的实例。一般而言,type of关键字效率比较高,因为它是在编译时进行计算的;而Get,Type()虽然非常灵活,能传给它任意字符串,但它是在运行时执行。一旦拥有某种类型对象,就能知道它是否是类、接口或结构体,以及它拥有的方法、字段的数量及类型。
“作者的C#造诣极深。而且更善于引导读者在轻松愉快的氛围中深入学习C#特性的来龙去脉。掌握C#的精髓。通过学习此书内容,你的C#水平必将与日俱增。” ——Wes Dyer。微软C#开发小组成员“我读过不下100本.NET方面的书,自己也写过几本书。但是此书的精彩绝伦仍然远远超出了我的预期。强烈推荐!” ——William iam Ryan.微软MVP“C#从诞生到现在的C# 4.0的过程中。不断有一些新特性添加进来,这些新特性的增加就意味着开发速度或者性能上的提升。在本书中。作者详尽地讲述了C#发展历程中的一些重大特性及它们的优点。这一点对于阅读本书的读者来说是很有帮助的。从这些地方也可以看出作者的细心和丰富的经验。这是一本值得一读的好书。” ——周金桥,高级程序员,MVP,51CTO专家博客
《C# 4.0捷径教程》:如果你已经有一定C#等语言的编程经验。就完全不用去读那些肤浅的入门书或者冗长繁复的大部头,《C# 4.0捷径教程》将为你提供一条快速掌握C#的捷径。作者在不大的篇幅里容纳了丰富扎实的内容,不仅全面涵盖了C#的语言特性·包括lambda表达式、扩展方法和LINQ等,总结了正确使用C#的习惯用法和设计模式,而且深入探讨了CLR。书中大量富于启发性的实例和经验之谈,更能让你的软件开发水平得到质的飞跃。《C# 4.0捷径教程》更全面增加了C#4.0新特性的介绍和讨论,包括dynamic、命名和可选参数、动态导入以及协变和逆变等。好评如潮的C#4.0实战图书汲取.NET技术精髓的捷径专章讲述习惯用法与设计模式
无
总体感觉还是不粗的
挺好的,还比较喜欢,呵呵
书中所讲 在msdn上面基本都有 并且讲的更详细
这边书真的很** 很** 翻译的好差 不知道是不是用金山词霸翻译 亏死我了
本书绝对称得上是一本C#编程好书,作者对C#语言编程的基础知识也讲解得比较清晰并且也非常到位。特别值得一提的是,作者还深入浅出地剖析了C#语言中一些较难理解的语言特性,如委托、匿名方法、协变与逆变、线程、扩展方法、lambda表达式、LINQ以及dynamic等。另外,该书第13章的内容—C#开发范式(canonical form)写得也相当棒,给出了一些具有很高开发实践指导价值的checklist。总之,本书绝对值得你在开发之余一读,学透此书绝对会大大地提升你的C#编程能力!
我看了很久的书,找了很多,终于看见我喜欢的了
C#理论经典,不是封面书评所说的实战和专章讲解XX的