C#本质论(第2版)
基本信息
编辑推荐
微软技术代言人扛鼎之作
结合代码深入浅出探讨C# 3.0的强大特性
C#kaifa必备利器
内容简介回到顶部↑
本书是一部广受好评的名作,作者用一种易于理解的方式详细介绍了 c#语言的各个方面。全书共有 21章以及 3个附录,每章开头的 “思维导图 ”指明本章要讨论的主题,以及各个主题之间的层次关系。书中所包含的丰富的示例代码和精要的语言比较,都对读者理解 c#语言有所裨益。本书介绍了 c#语言的数据类型、运算符、方法、类等基本概念,深入讨论了泛型、迭代器、反射、线程和互操作性等高级主题,还介绍了语言集成查询(linq)技术,以及与其相关的扩展方法、分部方法、lambda表达式、标准查询操作符和查询表达式等内容。.
本书适合对 c#感兴趣的各个层次的读者,无论对初学者还是有经验的开发者,本书都是一本很有价值的参考书。...
本书适合对 c#感兴趣的各个层次的读者,无论对初学者还是有经验的开发者,本书都是一本很有价值的参考书。...
作译者回到顶部↑
目录回到顶部↑
第1章 c#概述. 1
1.1 hello, world 1
1.2 c#语法基础 3
1.2.1 c#关键字 3
1.2.2 类型定义 4
1.2.3 main 5
1.2.4 语句和语句分隔符 6
1.2.5 空白 7
1.3 使用变量 8
1.3.1 数据类型 8
1.3.2 变量的声明 9
1.3.3 变量的赋值 9
1.3.4 变量的使用 10
1.4 控制台输入和输出 11
1.4.1 从控制台获取输入 11
1.4.2 将输出写入控制台 12
1.5 注释 14
1.6 托管执行和公共语言基础结构 15
1.7 c#和.net版本 17
1.8 cil和ildasm 18
1.1 hello, world 1
1.2 c#语法基础 3
1.2.1 c#关键字 3
1.2.2 类型定义 4
1.2.3 main 5
1.2.4 语句和语句分隔符 6
1.2.5 空白 7
1.3 使用变量 8
1.3.1 数据类型 8
1.3.2 变量的声明 9
1.3.3 变量的赋值 9
1.3.4 变量的使用 10
1.4 控制台输入和输出 11
1.4.1 从控制台获取输入 11
1.4.2 将输出写入控制台 12
1.5 注释 14
1.6 托管执行和公共语言基础结构 15
1.7 c#和.net版本 17
1.8 cil和ildasm 18
前言回到顶部↑
在软件工程的发展历史中,用于编写计算机程序的方法经历了几次思维模式的重大转变。每一种思维模式都是以前一种为基础的,其宗旨都是增强代码的组织,并降低复杂性。本书将带领你体验相同的思维模式转变过程。.
本书开始的几章指导你学习顺序编程结构(sequential programming structure)。在这种编程结构中,语句是按照执行顺序来写的。这种结构的问题在于,随着需求的增加,复杂性也将呈指数级增加。为了降低复杂性,将代码块转变成方法,产生了结构化编程模型(structured programming model)。在这种模型中,可以从一个程序中的多个位置调用同一个代码块,而不必在程序中重复这些代码。然而,即使有这种结构,程序还是会很快变得臃肿不堪,需要进行进一步抽象。所以,在此基础上,人们又提出了面向对象编程的概念,这将在第5章进行讨论。在此之后,你将继续学习其他编程方法,比如基于接口的编程和LINQ(以及它促使集合API发生的改变),并最终学习通过attribute进行初级的声明性编程(第17章)。
本书有以下3个主要职能。
全面讲述C#语言,其内容已经远远超过了一本简单的教程,为你进行高效率软件开发打下坚实的基础。
对于已经熟悉了C#的读者,本书探讨了一些较为复杂的编程思想,并深入讨论了在这种语言的最新版本(C# 3.0和.NET 3.5)中引入的特性。
它是你永远的案头参考——即便在你精通了这种语言之后。
成功学习C#的关键在于,要尽可能快地开始编程。不要等自己成为一名理论方面的“专家”之后,才开始写代码。所以,不要犹豫,马上开始写程序吧。作为迭代开发 思想的追随者,我希望即使是一名刚开始学习编程的新手,在学到本书第2章末尾的时候,也能动手开始写基本的C#代码。
有许多主题都没有在本书中进行讨论。你在本书找不到ASP.NET、ADO.NET、智能客户端开发以及分布式编程等主题。虽然这些主题与.NET Framework有关,但它们都值得用专门的书、分专题进行讲述。幸运的是,已经有丰富的图书供读者选择。不过,在读完本书之后,你在上述任何领域继续深入学习都会有游刃有余的感觉。本书的重点在于C#以及基类库中的类型。
本书读者对象
写作本书时,我面临的一个挑战是如何在持续吸引高级开发人员眼球的同时,不因使用类似assembly、link、chain、thread和fusion的字眼而打击初学者的信心,否则许多人会认为这是一本冶金方面的书,而不是讲程序设计的。 本书的主要读者是已经有一定编程经验,并想多学一种语言来“傍身”的开发者。但我还是小心地编排了本书的内容,使其对于各种层次的开发者来说,都有足够大的价值。
初学者:假如你是一名编程新手,本书将帮助你从入门级的程序员过渡成为一名C#开发者,消除对以后摆在你面前的任何C#编程任务的害怕心理。本书不仅要教会你语法,还要教你养成良好的编程习惯,为你将来的编程生涯打下良好的基础。
熟悉结构化编程的程序员:学习外语最好的方法就是“沉浸法” 。类似地,学习一门计算机语言最好的方法就是在动手中学习,而不是等熟知了它的所有“理论”之后再动手。基于这个前提,本书最开始的内容是那些熟悉结构化编程的开发者很容易上手的。到第4章结束时,这些开发者应该可以开始写基本的控制流程序。然而,要成为一名真正的C#开发者,记住语法只是第一步。为了从简单程序过渡到企业级开发,C#开发者必须熟练地从对象及其关系的角度来思考问题。为此,第5章的“初学者主题”开始介绍类和面向对象开发。对于C、COBOL和FORTRAN等结构化编程语言来说,虽然它们仍在发挥作用,但作用会越来越小。所以,软件工程师们应该逐渐开始了解面向对象开发。C#是进行这一思维模式转变的理想语言,因为它本来就是基于“面向对象开发”这一中心思想来设计的。
熟悉“基于对象”和“面向对象”理念的开发者:C++和Java程序员以及许多有经验的Visual Basic程序员都可归于此类。对于分号和大括号,他们可是一点儿都不陌生!简单浏览一下第1章的代码,你会发现,从核心上讲,C#类似于你熟知的C和C++风格的语言。
C#专家:对于已经精通C#的人,本书可供你参考不太常见的语法。此外,对于在其他地方强调较少的一些语言细节以及微妙之处,我提出了自己的见解。最重要的是,本书提供了编写可靠和易维护代码的指导原则及模式。你教别人学C#时,本书也颇有助益。C# 3.0的一些最重要的增强包括:
隐式类型的变量(参见第2章);
扩展方法(参见第5章);
分部方法(参见第5章);
Lambda表达式(参见第12章);
表达式树(参见第12章);
匿名类型(参见第14章);
本书开始的几章指导你学习顺序编程结构(sequential programming structure)。在这种编程结构中,语句是按照执行顺序来写的。这种结构的问题在于,随着需求的增加,复杂性也将呈指数级增加。为了降低复杂性,将代码块转变成方法,产生了结构化编程模型(structured programming model)。在这种模型中,可以从一个程序中的多个位置调用同一个代码块,而不必在程序中重复这些代码。然而,即使有这种结构,程序还是会很快变得臃肿不堪,需要进行进一步抽象。所以,在此基础上,人们又提出了面向对象编程的概念,这将在第5章进行讨论。在此之后,你将继续学习其他编程方法,比如基于接口的编程和LINQ(以及它促使集合API发生的改变),并最终学习通过attribute进行初级的声明性编程(第17章)。
本书有以下3个主要职能。
全面讲述C#语言,其内容已经远远超过了一本简单的教程,为你进行高效率软件开发打下坚实的基础。
对于已经熟悉了C#的读者,本书探讨了一些较为复杂的编程思想,并深入讨论了在这种语言的最新版本(C# 3.0和.NET 3.5)中引入的特性。
它是你永远的案头参考——即便在你精通了这种语言之后。
成功学习C#的关键在于,要尽可能快地开始编程。不要等自己成为一名理论方面的“专家”之后,才开始写代码。所以,不要犹豫,马上开始写程序吧。作为迭代开发 思想的追随者,我希望即使是一名刚开始学习编程的新手,在学到本书第2章末尾的时候,也能动手开始写基本的C#代码。
有许多主题都没有在本书中进行讨论。你在本书找不到ASP.NET、ADO.NET、智能客户端开发以及分布式编程等主题。虽然这些主题与.NET Framework有关,但它们都值得用专门的书、分专题进行讲述。幸运的是,已经有丰富的图书供读者选择。不过,在读完本书之后,你在上述任何领域继续深入学习都会有游刃有余的感觉。本书的重点在于C#以及基类库中的类型。
本书读者对象
写作本书时,我面临的一个挑战是如何在持续吸引高级开发人员眼球的同时,不因使用类似assembly、link、chain、thread和fusion的字眼而打击初学者的信心,否则许多人会认为这是一本冶金方面的书,而不是讲程序设计的。 本书的主要读者是已经有一定编程经验,并想多学一种语言来“傍身”的开发者。但我还是小心地编排了本书的内容,使其对于各种层次的开发者来说,都有足够大的价值。
初学者:假如你是一名编程新手,本书将帮助你从入门级的程序员过渡成为一名C#开发者,消除对以后摆在你面前的任何C#编程任务的害怕心理。本书不仅要教会你语法,还要教你养成良好的编程习惯,为你将来的编程生涯打下良好的基础。
熟悉结构化编程的程序员:学习外语最好的方法就是“沉浸法” 。类似地,学习一门计算机语言最好的方法就是在动手中学习,而不是等熟知了它的所有“理论”之后再动手。基于这个前提,本书最开始的内容是那些熟悉结构化编程的开发者很容易上手的。到第4章结束时,这些开发者应该可以开始写基本的控制流程序。然而,要成为一名真正的C#开发者,记住语法只是第一步。为了从简单程序过渡到企业级开发,C#开发者必须熟练地从对象及其关系的角度来思考问题。为此,第5章的“初学者主题”开始介绍类和面向对象开发。对于C、COBOL和FORTRAN等结构化编程语言来说,虽然它们仍在发挥作用,但作用会越来越小。所以,软件工程师们应该逐渐开始了解面向对象开发。C#是进行这一思维模式转变的理想语言,因为它本来就是基于“面向对象开发”这一中心思想来设计的。
熟悉“基于对象”和“面向对象”理念的开发者:C++和Java程序员以及许多有经验的Visual Basic程序员都可归于此类。对于分号和大括号,他们可是一点儿都不陌生!简单浏览一下第1章的代码,你会发现,从核心上讲,C#类似于你熟知的C和C++风格的语言。
C#专家:对于已经精通C#的人,本书可供你参考不太常见的语法。此外,对于在其他地方强调较少的一些语言细节以及微妙之处,我提出了自己的见解。最重要的是,本书提供了编写可靠和易维护代码的指导原则及模式。你教别人学C#时,本书也颇有助益。C# 3.0的一些最重要的增强包括:
隐式类型的变量(参见第2章);
扩展方法(参见第5章);
分部方法(参见第5章);
Lambda表达式(参见第12章);
表达式树(参见第12章);
匿名类型(参见第14章);
序言回到顶部↑
作为C#团队的社区项目经理(Community Program Manager),我的职责就是随时跟进社区的需求。我经常都能听到这样的抱怨:“Microsoft的新技术太多了,简直让人应接不暇。我需要阅读详细解释这种技术的文档,而且我希望这些文档很容易看懂。”对于每一名希望了解Microsoft最新技术的C#开发者,Mark Michaelis都是他们最为可靠的“单人解决方案”。.
第一次与Mark见面是在华盛顿州雷德蒙德市,那是2006年夏天的一个清新、阳光明媚的早上。我喜欢晚睡,但我已被提前告知,Mark是一位非常积极的社区成员。所以,那天我不得不起得很早去见他。幸好我那样做了!那天早上,他给我留下了深刻的印象,至今历历在目。
Mark是一个高个子的运动员,来自南非,说一口清楚、流利的英语,有一点口音,不过相信大多数美国人都分辨不出其中的区别。他是铁人三项的运动员,有着从事那种运动的人特有的精干、活跃的外表。虽然表面上乐呵呵的,但他做起事情来却显得非常老练。给人的感觉就是他有一种特殊的本事,能在有限的时间里安排尽可能多的活动。
Mark经常要到Microsoft总部来参加有关未来技术的一些研讨会,或者就团队的一些未来计划提供咨询。从华盛顿州斯波堪市飞到这里,Mark有一个清楚的日程表。他知道自己在Microsoft总部的职责,他在那里会将全部身心都放到工作上,而在工作结束后又会风尘仆仆地赶回斯波堪与家人团聚。有时,他能抽出一些时间来和我匆匆见上一面,而每次会面都让我感到高兴。他是一个乐观的、精力充沛的家伙,对Microsoft开发的新技术或程序总能提出一些令人振奋的见解。
通过以上对Mark的简单描述,相信你对本书的内容已经心中有数了。这是一本主题鲜明的书,结构提纲非常合理,而且通篇文字都简洁流畅,没有任何废话。Mark着意挑选了需要详尽解释的核心语言部分,并用他平时说话的方式讲出来——表达清楚、有血有肉,而且丝毫没有居高临下的口吻。Mark知道读者想要听什么,而他也做到了知无不言、言无不尽。
Mark不光懂C#,还懂英语。他知道如何正确地造句,如何把他的思想灌注到看似普通的段落和小节中,以及如何引入和总结主题。他善于用清楚且易于理解的方式来解释一个复杂的主题。Mark这本书的第一版我是逐页看过的,当时全神贯注地阅读,只花了我几个晚上的时间。和最新版本一样,整个阅读体验是令人愉快和满足的。Mark精心选择了要讲述的主题,并用尽可能简单的话来解释它们。他知道哪些应该包括进来,哪些可以暂时放在一边。如果他想探讨一个高级主题,就会非常贴心地把它同书的其余部分隔离开。他从不炫耀,一直都以读者的感受为重。
在本书的这一版中,一个相当重要的主题就是LINQ(语言集成查询)。对于许多开发者来说,LINQ所采用的说明性编程风格属于一种全新的技术,需要为之发展出一套新的编程习惯和新的思维方式。
C# 3.0引入了几项支持LINQ的新特性。本书这一版的主要目标之一就是详细讨论这些特性。对LINQ及其关联技术进行解释绝不是一个轻松的任务,Mark发挥了作为一名作家和一名教师的特长,使这些主题尽可能地清楚和容易理解。
为了理解LINQ而需掌握的所有核心技术都在本书得到了精心的解释,其中包括:
分部方法
自动属性
对象初始化器
集合初始化器
匿名类型
隐式局部变量(var)
Lambda..
扩展方法
表达式树
IEnumerable[T]和IQueryable[T]
LINQ查询运算符
第一次与Mark见面是在华盛顿州雷德蒙德市,那是2006年夏天的一个清新、阳光明媚的早上。我喜欢晚睡,但我已被提前告知,Mark是一位非常积极的社区成员。所以,那天我不得不起得很早去见他。幸好我那样做了!那天早上,他给我留下了深刻的印象,至今历历在目。
Mark是一个高个子的运动员,来自南非,说一口清楚、流利的英语,有一点口音,不过相信大多数美国人都分辨不出其中的区别。他是铁人三项的运动员,有着从事那种运动的人特有的精干、活跃的外表。虽然表面上乐呵呵的,但他做起事情来却显得非常老练。给人的感觉就是他有一种特殊的本事,能在有限的时间里安排尽可能多的活动。
Mark经常要到Microsoft总部来参加有关未来技术的一些研讨会,或者就团队的一些未来计划提供咨询。从华盛顿州斯波堪市飞到这里,Mark有一个清楚的日程表。他知道自己在Microsoft总部的职责,他在那里会将全部身心都放到工作上,而在工作结束后又会风尘仆仆地赶回斯波堪与家人团聚。有时,他能抽出一些时间来和我匆匆见上一面,而每次会面都让我感到高兴。他是一个乐观的、精力充沛的家伙,对Microsoft开发的新技术或程序总能提出一些令人振奋的见解。
通过以上对Mark的简单描述,相信你对本书的内容已经心中有数了。这是一本主题鲜明的书,结构提纲非常合理,而且通篇文字都简洁流畅,没有任何废话。Mark着意挑选了需要详尽解释的核心语言部分,并用他平时说话的方式讲出来——表达清楚、有血有肉,而且丝毫没有居高临下的口吻。Mark知道读者想要听什么,而他也做到了知无不言、言无不尽。
Mark不光懂C#,还懂英语。他知道如何正确地造句,如何把他的思想灌注到看似普通的段落和小节中,以及如何引入和总结主题。他善于用清楚且易于理解的方式来解释一个复杂的主题。Mark这本书的第一版我是逐页看过的,当时全神贯注地阅读,只花了我几个晚上的时间。和最新版本一样,整个阅读体验是令人愉快和满足的。Mark精心选择了要讲述的主题,并用尽可能简单的话来解释它们。他知道哪些应该包括进来,哪些可以暂时放在一边。如果他想探讨一个高级主题,就会非常贴心地把它同书的其余部分隔离开。他从不炫耀,一直都以读者的感受为重。
在本书的这一版中,一个相当重要的主题就是LINQ(语言集成查询)。对于许多开发者来说,LINQ所采用的说明性编程风格属于一种全新的技术,需要为之发展出一套新的编程习惯和新的思维方式。
C# 3.0引入了几项支持LINQ的新特性。本书这一版的主要目标之一就是详细讨论这些特性。对LINQ及其关联技术进行解释绝不是一个轻松的任务,Mark发挥了作为一名作家和一名教师的特长,使这些主题尽可能地清楚和容易理解。
为了理解LINQ而需掌握的所有核心技术都在本书得到了精心的解释,其中包括:
分部方法
自动属性
对象初始化器
集合初始化器
匿名类型
隐式局部变量(var)
Lambda..
扩展方法
表达式树
IEnumerable[T]和IQueryable[T]
LINQ查询运算符
媒体评论回到顶部↑
“本书完成了一项非常艰巨的任务。前面的章节易于被刚入门的开发者理解,而在后面的章节中,作者将自己对于语言的理解倾囊以授,并为有经验的开发者提供了发挥C# 2.0最大潜力所需的详细信息。Mark是组织内容的高手。从第1章起Mark就成功赢得了许多高手的心,而又让全书的所有内容都易于理解。”.
——Chris Kinsman,Vertafore首席架构师,Microsoft区域经理
“真是令人耳目一新!这本书透彻地探讨了C#,而不是只对整个.NET框架走马观花地介绍一下就完事。本书对新手和专家都极其有价值。”
——Jon Skeet,微软C# MVP
“本书是有经验的程序员掌握当今最热门的C#语言的一站式参考书。Mark以一种易于理解的方式讲解了C#的方方面面。初学者能通过本书打下一个良好的基础,并在此基础上构建其下一代的应用程序。”
——Stephen Toub,MSDN Magazine技术编辑
“本书全面讲述了C#的所有编程构架。书的内容编排非常合理,编程新手能通过本书快速入门,而更多有经验的编程人员可由此进入结构化编程世界。由于本书一直都将重点放在C#的基本编程构造上,比如泛型、委托等,因此本书是不能不看的。另外,对于想用C#的最新特性来解决其日常编程问题的程序员,本书也是不能不看的。”
——Narendra Poflee,Itron公司IT集成专家
“对于所有对C#有兴趣的程序员来说这都是一本理想图书。假如你是一名新手,可以通过本书快速掌握基本的C#编程知识,并逐渐熟悉大量基本概念。本书的学习流程设计得非常贴心,已经讲过的概念不会反复讲解。对于有经验的程序员,本书也具有非常高的含金量。强烈推荐已经熟悉C#的程序员阅读本书。无论如何,这会成为我案头必备的参考书。”
——Michael Stokesbary,Itron公司软件工程师..
“虽然现在随时都能在网上搜索参考资料,但我仍然要买一本Essential C# 3.0放在包里。虽然随时都能按F1来获得语法帮助,但用这本书来武装自己,可以做出更好的设计和编码决策(而且做决策时心中会更有底)。如果一本书的索引超过20页,你就知道它讲解得有多深入。虽然本书也有一些讲基础知识的章节,但随着学习的深入,它很快就会讲到C#语言的一些不为人熟知的领域,这使它成为各层次C#开发人员不可或缺的一本参考书。”
——Troy Magennis,C# MVP和HookedOnLINQ.com网站的创始人
“如果你和以前的我一样是C#的新手,Mark的书就是一个不错的起点。他手把手教你掌握C#语言的结构和语法,使你很容易理解这种语言的工作原理。我觉得书中的代码示例很有帮助,能很好地说明对应的上下文中讨论的概念。”
——Robert Stokesbary,Option Explicit高级顾问
“这本书对第1版已经讲过的概念进行了扩展,添加了C# 3.0的增强内容。本书的一个出彩之处在于,它不仅深入探讨了新的3.0的增强特性,还展示了这些新特性在什么地方优于现有的2.0的特性。尽管我已经用C#写了多年的程序,但还是要经常参考这本书,并且总是能发现一些隐藏在字里行间的闪光点。无论对于C#新手还是经验丰富的老手,这本书都是必读的。”
——Michael Stokesbary,Itron公司高级软件工程师
“本书首先会让你掌握语言是如何工作的,然后在需要快速找到答案的时候,它又可以作为一本参考书来使用。对于那些想要了解微软最新技术的开发者,本书也会成为你的良师益友,帮助你理清不断变化的技术趋势。”
——Charlie Calvert,微软Visual C#社区项目经理...
——Chris Kinsman,Vertafore首席架构师,Microsoft区域经理
“真是令人耳目一新!这本书透彻地探讨了C#,而不是只对整个.NET框架走马观花地介绍一下就完事。本书对新手和专家都极其有价值。”
——Jon Skeet,微软C# MVP
“本书是有经验的程序员掌握当今最热门的C#语言的一站式参考书。Mark以一种易于理解的方式讲解了C#的方方面面。初学者能通过本书打下一个良好的基础,并在此基础上构建其下一代的应用程序。”
——Stephen Toub,MSDN Magazine技术编辑
“本书全面讲述了C#的所有编程构架。书的内容编排非常合理,编程新手能通过本书快速入门,而更多有经验的编程人员可由此进入结构化编程世界。由于本书一直都将重点放在C#的基本编程构造上,比如泛型、委托等,因此本书是不能不看的。另外,对于想用C#的最新特性来解决其日常编程问题的程序员,本书也是不能不看的。”
——Narendra Poflee,Itron公司IT集成专家
“对于所有对C#有兴趣的程序员来说这都是一本理想图书。假如你是一名新手,可以通过本书快速掌握基本的C#编程知识,并逐渐熟悉大量基本概念。本书的学习流程设计得非常贴心,已经讲过的概念不会反复讲解。对于有经验的程序员,本书也具有非常高的含金量。强烈推荐已经熟悉C#的程序员阅读本书。无论如何,这会成为我案头必备的参考书。”
——Michael Stokesbary,Itron公司软件工程师..
“虽然现在随时都能在网上搜索参考资料,但我仍然要买一本Essential C# 3.0放在包里。虽然随时都能按F1来获得语法帮助,但用这本书来武装自己,可以做出更好的设计和编码决策(而且做决策时心中会更有底)。如果一本书的索引超过20页,你就知道它讲解得有多深入。虽然本书也有一些讲基础知识的章节,但随着学习的深入,它很快就会讲到C#语言的一些不为人熟知的领域,这使它成为各层次C#开发人员不可或缺的一本参考书。”
——Troy Magennis,C# MVP和HookedOnLINQ.com网站的创始人
“如果你和以前的我一样是C#的新手,Mark的书就是一个不错的起点。他手把手教你掌握C#语言的结构和语法,使你很容易理解这种语言的工作原理。我觉得书中的代码示例很有帮助,能很好地说明对应的上下文中讨论的概念。”
——Robert Stokesbary,Option Explicit高级顾问
“这本书对第1版已经讲过的概念进行了扩展,添加了C# 3.0的增强内容。本书的一个出彩之处在于,它不仅深入探讨了新的3.0的增强特性,还展示了这些新特性在什么地方优于现有的2.0的特性。尽管我已经用C#写了多年的程序,但还是要经常参考这本书,并且总是能发现一些隐藏在字里行间的闪光点。无论对于C#新手还是经验丰富的老手,这本书都是必读的。”
——Michael Stokesbary,Itron公司高级软件工程师
“本书首先会让你掌握语言是如何工作的,然后在需要快速找到答案的时候,它又可以作为一本参考书来使用。对于那些想要了解微软最新技术的开发者,本书也会成为你的良师益友,帮助你理清不断变化的技术趋势。”
——Charlie Calvert,微软Visual C#社区项目经理...
评论交流
共有6人开贴评论 7人参与评论 6人参与打分 查看
评价等级:





发表于:2010-2-4 15:20:00
之前在收藏书架中把这本《C#本质论》与《插图详解C#2008》一起收藏了,经过多方对比还是购买了这本。后来在等待发货期间下载到了《插图详解C#2008》原版Illustrator C#2008后,看了100多页,惊呼后悔,Illustrator C#2008这本书讲得太好了,里面涉及一些内存使用存放等细节问题十分适合我这种需要“知其所以然”的用户,而且该书语言十分通俗易懂。
相比之下《C#本质论》感觉在章节组织上有些乱,也可能翻译的问题吧(莫bs我,读原文跟译文的确有这种感觉),有些地方比如在可空类型、异常处理的地方讲得并不是很详细。还有就是感觉纸张太薄,跟地摊上的盗版书纸张差不多。
当然整体上来讲暇不掩疵,属于中上偏上水平。推荐!
相比之下《C#本质论》感觉在章节组织上有些乱,也可能翻译的问题吧(莫bs我,读原文跟译文的确有这种感觉),有些地方比如在可空类型、异常处理的地方讲得并不是很详细。还有就是感觉纸张太薄,跟地摊上的盗版书纸张差不多。
当然整体上来讲暇不掩疵,属于中上偏上水平。推荐!
| 我要写评论 |
| 查看所有评论交流(共6条) |








点击看大图





加载中...

