编辑推荐
作者JeffreyRichter,全球知名的.NET和Windows大师和专业,经典畅销书《Windows核心编程》和《CLR》系列的作者,其著作曾因其专业性和影响力荣获中国书刊业发行协会“全行业畅销书品种”称号。
专业力作全新全面升级
名著名译再显经典魅力
根据Microsoft.NETFramework4.5和VisualC#2012全面更新
聚焦于FrameworkClassLibrary(FCL)的核心类型
清楚阐述多核编程、泛型、线程处理等基本概念
由浅入深,透视CLR和.NET精髓,知其然
鞭辟入里,探究CLR和.NET机理,知其所以然
深入探究并掌握CLR(公共语言运行时)、C#和.NET开发,其实很简单。
享有全球盛誉的编程专家JeffreyRichter,微软.NET团队长达十几年的资深技术顾问,在《CLR via C#(第4版)》中以简洁流畅的语言将其数十年的经验和心得娓娓道来,独到而深刻的见解,深思熟虑之后形成的洞见,这些都让人醍醐灌顶,为日后构建健壮、可靠和响应快的应用程序与组件奠定良好的基础。
《CLRviaC#(第4版)》针对.NETFramework4.5和多核编程进行了全面更新和修订,是帮助读者深入探索和掌握公共语言运行时、C#和.NET开发的重要参考。
内容简介
《CLRviaC#(第4版)》针对CLR和.NETFramework4.5进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。《CLR via C#(第4版)》5部分共29章。第Ⅰ部分介绍CLR基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型,第Ⅳ部分以核心机制为主题,第Ⅴ部分重点介绍线程处理。
通过《CLR via C#(第4版)》的阅读,读者可以掌握CLR和.NETFramework的精髓,轻松、高效地创建高性能应用程序。
2014TsinghuaUniversityPressLimited
AuthorizedtranslationoftheEnglisheditionofMicrosoftCLRviaC#,4thEdition.
Copyright?2012byJeffreyRichter.ThistranslationispublishedandsoldbypermissionofO'ReillyMedia,Inc.,whichownsorcontrolsofallrightstopublishandsellthesame.
《CLR via C#(第4版)》中文版由O'ReillyMedia,Inc.授权给清华大学出版社出版发行,未经出版者许可,不得以任何方式复制或抄袭《CLR via C#(第4版)》的任何部分。
作者简介
JeffreyRichter,Wintellect联合创始人。数十年如一日痴迷于Windows和.NET的大师,数十年以来影响了若干代程序员的灵魂人物,经典著作《Windows核心编程》和《CLRviaC#》系列版本的缔造者。他崇尚大道至简,注重效率与实用性,尤其热爱化繁为简—去芜存菁。值得一提的是,他特别擅长授人以渔,能够以通俗易懂、条理清晰的方式将普通读者望而却步的关键概念讲得透彻,讲得精彩。Jeffrey出版过12本Windows/.NET畅销书,曾经担任过MSDNMagazine特约编辑、Win32Q&A专栏作者、NETQ&A专栏作者和ConcurrentAffairs(关于并发那些事儿)专栏作者。他还在很多全球性的商业研讨会上发表演讲。作为懂Windows和NE丁的人,他从1990年开始就以顾问身份为微软提供服务—他写的代码先后被微软的很多产品广泛采用。此外,他还曾经为AT&T、IBM、英特尔、梦工厂、通用和惠普等提供过咨询服务。Jeffrey爱好广泛,他拥有飞机驾照和直升机驾照,是国际魔法师协会成员。他爱好音乐(尤其是20世纪70年代的爵士乐和前卫摇滚乐)、击鼓、火车模型和空手道。他还喜欢旅游和戏剧。目前,他与爱妻Kristin及爱子Aidan和Grant居住在华盛顿州的柯克兰。
目录
第1部分CLR基础第1章CLR的执行模型第2章生成、打包、部署和管理应用程序及类型第3章共享程序集和强命名程序集
第2部分设计类型第4章类型基础第5章基元类型、引用类型和值类型第6章类型和成员基础第7章常量和字段第8章方法第9章参数第10章属性第11章事件第12章泛型第13章接口
第3部分基本类型第14章字符、字符串和文本处理第15章枚举类型和位标志第16章数组第17章委托第18章定制特性第19章可空值类型
第4部分核心机制第20章异常和状态管理第21章托管堆和垃圾回收第22章CLR寄宿和AppDomain第23章程序集加载和反射第24章运行时序列化第25章与WinRT组件互操作
第5部分线程处理第26章线程基础第27章计算限制的异步操作第28章I/O限制的异步操作第29章基元线程同步构造第30章混合线程同步构造精彩书摘
在类的内部,我总是将自己的方法、属性和事件定义为private和非虚。幸好,C#默认也是这样的。当然,我会将某个方法、属性和事件定义为public,以便公开类型的某些功能。我会尽量避免将上述任何成员定义为protected或internal,因为这会使类型面临更大的安全风险。即使迫不得已,我也会尽量选择protected或internal。virtual永远最后才考虑,因为虚成员会放弃许多控制,丧失独立性,变得彻底依赖于派牛类的正确行为。 OOP有一条古老的格言,大意是当事情变得过于复杂时,就搞更多的类型出来。当算法的实现开始变得复杂时,我会定义一些辅助类型来封装独立的功能。如果定义的辅助类型只由一个“超类型”使用,我会在“超类型”中嵌套这些辅助类型。这样除了可以限制范围,还允许嵌套的辅助类型中的代码引用“超类型”中定义的私有成员。但是,VisualStudio的代码分析工具(FxCopCmd.exe)强制执行了一条设计规则,即对外公开的嵌套类型必须在文件或程序集范围中定义,不能在另一个类型中定义。之所以会有这个规则,是因为一些开发人员觉得引用嵌套类型时,所用的语法过于繁琐。我赞同该规则,自己绝不会定义公共嵌套类型。 ……