深入理解C#(第2版)

当前位置:首页 > 计算机网络 > 程序设计 > 深入理解C#(第2版)

出版社:人民邮电出版社
出版日期:2012-1
ISBN:9787115269249
作者:Jon Skeet
页数:445页

作者简介

《深入理解C#(第2版)》是C#领域不可多得的经典著作。作者Jon Skeet在详尽地展示C#各个知识点的同时,更注重从现象中挖掘本质。本书深入探索了C#的核心概念和经典特性,并将这些特性融入到代码中,让读者能够真正领会到C#之“深入”与“精妙”。在第1版的基础上,书中新增了C# 4的新特性,如动态类型、命名实参和可选参数等,这些特性将C#语言提升到了一个新的层次。
《深入理解C#(第2版)》适合中高级.NET开发人员阅读。

书籍目录

第一部分  基础知识
第1 章 C#开发的进化史   2
1.1 从简单的数据类型开始   3
1.1.1 C# 1 中定义的产品类型   3
1.1.2 C# 2 中的强类型集合  4
1.1.3 C# 3 中自动实现的属性   5
1.1.4 C# 4 中的命名实参   6
1.2 排序和过滤   7
1.2.1 按名称对产品进行排序   7
1.2.2 查询集合   10
1.3 处理未知数据   11
1.3.1 表示未知的价格   12
1.3.2 可选参数和默认值   12
1.4 LINQ 简介   13
1.4.1 查询表达式和进程内查询   13
1.4.2 查询XML   14
1.4.3 LINQ to SQL    15
1.5 COM 和动态类型   16
1.5.1 简化COM 互操作   16
1.5.2 与动态语言互操作   17
1.6 剖析.NET 平台   18
1.6.1 C#语言   18
1.6.2 运行时   19
1.6.3 框架库   19
1.7 怎样写出超炫的代码   19
1.7.1 采用代码段形式的全能代码   20
1.7.2 教学代码不是产品代码   21
1.7.3 你的新朋友:语言规范   21
1.8 小结   21
第2 章 C# 1 所搭建的核心基础   23
2.1 委托   23
2.1.1 简单委托的构成   24
2.1.2 合并和删除委托   28
2.1.3 对事件的简单讨论   29
2.1.4 委托小结   30
2.2 类型系统的特征   31
2.2.1 C#在类型系统世界中的位置   31
2.2.2 C# 1 的类型系统在什么时候不够用   34
2.2.3 类型系统特征总结   36
2.3 值类型和引用类型   36
2.3.1 现实世界中的值和引用   36
2.3.2 值类型和引用类型基础知识   37
2.3.3 走出误区   38
2.3.4 装箱和拆箱   40
2.3.5 值类型和引用类型小结   41
2.4 C# 1 之外:构建于坚实基础之上的新特性   41
2.4.1 与委托有关的特性   41
2.4.2 与类型系统有关的特性   43
2.4.3 与值类型有关的特性   45
2.5 小结   46
第二部分 C# 2:解决C# 1 的问题
第3 章 用泛型实现参数化类型   48
3.1 为什么需要泛型   49
3.2 日常使用的简单泛型   50
3.2.1 通过例子来学习:泛型字典   50
3.2.2 泛型类型和类型参数   52
3.2.3 泛型方法和判读泛型声明   55
3.3 深化与提高   58
3.3.1 类型约束   58
3.3.2 泛型方法类型实参的类型推断   62
3.3.3 实现泛型   63
3.4 高级泛型   68
3.4.1 静态字段和静态构造函数   69
3.4.2 JIT 编译器如何处理泛型   70
3.4.3 泛型迭代   72
3.4.4 反射和泛型   74
3.5 泛型在C#和其他语言中的限制   78
3.5.1 泛型可变性的缺乏   78
3.5.2 缺乏操作符约束或者“数值”约束   82
3.5.3 缺乏泛型属性、索引器和其他成员类型   83
3.5.4 同C++模板的对比   84
3.5.5 和Java 泛型的对比   85
3.6 小结   86
第4 章 可空类型   88
4.1 没有值时怎么办   88
4.1.1 为什么值类型的变量不能是null    89
4.1.2 在C# 1 中表示空值的模式   89
4.2 System.Nullable和System.Nullable    91
4.2.1 Nullable简介   91
4.2.2 Nullable装箱和拆箱   94
4.2.3 Nullable实例的相等性   95
4.2.4 来自非泛型Nullable 类的支持   96
4.3 C# 2 为可空类型提供的语法糖   96
4.3.1 ?修饰符   97
4.3.2 使用null 进行赋值和比较   98
4.3.3 可空转换和操作符   99
4.3.4 可空逻辑   102
4.3.5 对可空类型使用as 操作符   103
4.3.6 空合并操作符   104
4.4 可空类型的新奇用法   106
4.4.1 尝试一个不使用输出参数的操作   107
4.4.2 空合并操作符让比较不再痛苦   108
4.5 小结   111
第5 章 进入快速通道的委托   112
5.1 向笨拙的委托语法说拜拜   113
5.2 方法组转换   114
5.3 协变性和逆变性   115
5.3.1 委托参数的逆变性   116
5.3.2 委托返回类型的协变性   117
5.3.3 不兼容的风险   118
5.4 使用匿名方法的内联委托操作   119
5.4.1 从简单的开始:处理一个参数   119
5.4.2 匿名方法的返回值   121
5.4.3 忽略委托参数   123
5.5 在匿名方法中捕捉变量   124
5.5.1 定义闭包和不同的变量类型   124
5.5.2 测试被捕获的变量的行为   126
5.5.3 捕获变量到底有什么用处   127
5.5.4 捕获变量的延长生存期   127
5.5.5 局部变量实例化   128
5.5.6 共享和非共享的变量混合使用   130
5.5.7 捕获变量的使用规则和小结   132
5.6 小结   133
第6 章 实现迭代器的捷径   134
6.1 C# 1:手写迭代器的痛苦   135
6.2 C# 2:利用yield 语句简化迭代器   137
6.2.1 迭代器块和yield return简介   137
6.2.2 观察迭代器的工作流程   139
6.2.3 进一步了解迭代器执行流程   141
6.2.4 具体实现中的奇特之处   144
6.3 真实的例子:迭代范围值   145
6.3.1 迭代时刻表中的日期   145
6.3.2 迭代文件中的行   146
6.3.3 使用迭代器块和谓词对项进行延迟筛选   148
6.4 使用CCR 实现伪同步代码   150
6.5 小结   152
第7 章 结束C# 2 的讲解:最后的一些特性   153
7.1 分部类型  154
7.1.1 在多个文件中创建一个类型   154
7.1.2 分部类型的使用   156
7.1.3 C# 3 独有的分部方法   157
7.2 静态类型   159
7.3 独立的取值方法/赋值方法属性访问器  161
7.4 命名空间别名  162
7.4.1 限定的命名空间别名   163
7.4.2 全局命名空间别名   164
7.4.3 外部别名   164
7.5 Pragma 指令   166
7.5.1 警告pragma   166
7.5.2 校验和pragma   167
7.6 非安全代码中的固定大小的缓冲区   167
7.7 把内部成员暴露给选定的程序集   169
7.7.1 在简单情况下的友元程序集   169
7.7.2 为什么使用InternalsVisibleTo    170
7.7.3 InternalsVisibleTo 和签名程序集   170
7.8 小结   171
第三部分 C# 3:革新写代码的方式
第8 章 用智能的编译器来防错   174
8.1 自动实现的属性   175
8.2 隐式类型的局部变量   176
8.2.1 用var 声明局部变量   177
8.2.2 隐式类型的限制   178
8.2.3 隐式类型的优缺点   179
8.2.4 建议   180
8.3 简化的初始化   180
8.3.1 定义示例类型   181
8.3.2 设置简单属性   182
8.3.3 为嵌入对象设置属性   183
8.3.4 集合初始化列表   184
8.3.5 初始化特性的应用   186
8.4 隐式类型的数组   187
8.5 匿名类型   188
8.5.1 第一次邂逅匿名类型   188
8.5.2 匿名类型的成员   190
8.5.3 投影初始化列表   191
8.5.4 重点何在   192
8.6 小结  193
第9 章 Lambda 表达式和表达式树   194
9.1 作为委托的Lambda 表达式   195
9.1.1 准备工作:Func<  >委托类型简介   195
9.1.2 第一次转换成Lambda表达式   196
9.1.3 用单一表达式作为主体   197
9.1.4 隐式类型的参数列表   197
9.1.5 单一参数的快捷语法   198
9.2 使用List和事件的简单例子   199
9.2.1 对列表进行筛选、排序并设置其他操作   199
9.2.2 在事件处理程序中进行记录   201
9.3 表达式树   202
9.3.1 在程序中构建表达式树   202
9.3.2 将表达式树编译成委托   204
9.3.3 将C# Lambda 表达式转换成表达式树   205
9.3.4 位于LINQ 核心的表达式树   208
9.3.5 LINQ 之外的表达式树   209
9.4 类型推断和重载决策发生的改变   211
9.4.1 改变的起因:精简泛型方法调用   211
9.4.2 推断匿名函数的返回类型   212
9.4.3 分两个阶段进行的类型推断   213
9.4.4 选择正确的被重载的方法   217
9.4.5 类型推断和重载决策   218
9.5 小结   219
第10 章 扩展方法   220
10.1 未引入扩展方法之前的状态   221
10.2 扩展方法的语法   223
10.2.1 声明扩展方法   223
10.2.2 调用扩展方法   224
10.2.3 扩展方法是怎样被发现的   225
10.2.4 在空引用上调用方法   226
10.3 . NET 3.5 中的扩展方法   227
10.3.1 从Enumerable 开始起步   228
10.3.2 用Where 筛选并将方法调用链接到一起   229
10.3.3 插曲:似曾相识的Where方法   231
10.3.4 用Select 方法和匿名类型进行投影   232
10.3.5 用OrderBy 方法进行排序   232
10.3.6 涉及链接的实际例子   234
10.4 使用思路和原则   235
10.4.1 “扩展世界”和使接口更丰富   235
10.4.2 流畅接口   236
10.4.3 理智使用扩展方法   237
10.5 小结   238
第11 章 查询表达式和LINQ to Objects    240
11.1 LINQ 介绍   241
11.1.1 LINQ 中的基础概念   241
11.1.2 定义示例数据模型   245
11.2 简单的开始:选择元素   246
11.2.1 以数据源作为开始,以选择作为结束   246
11.2.2 作为查询表达式基础的编译器转换   247
11.2.3 范围变量和重要的投影   249
11.2.4 Cast、OfType 和显式类型的范围变量   251
11.3 对序列进行过滤和排序   252
11.3.1 使用where 子句进行过滤   253
11.3.2 退化的查询表达式   253
11.3.3 使用orderby 子句进行排序   254
11.4 let 子句和透明标识符   256
11.4.1 用let 来进行中间计算   256
11.4.2 透明标识符   257
11.5 联接   258
11.5.1 使用join 子句的内联接   258
11.5.2 使用join  into 子句进行分组联接   262
11.5.3 使用多个from 子句进行交叉联接和合并序列   264
11.6 分组和延续   267
11.6.1 使用group  by 子句进行分组   267
11.6.2 查询延续   270
11.7 在查询表达式和点标记之间作出选择   272
11.7.1 需要使用点标记的操作   273
11.7.2 选择点标记   273
11.7.3 选择查询表达式   274
11.8 小结   275
第12 章 超越集合的LINQ   276
12.1 使用LINQ to SQL 查询数据库   277
12.1.1 数据库和模型   277
12.1.2 用查询表达式访问数据库   279
12.1.3 包含联接的查询   281
12.2 用IQueryable 和IQueryProvider 进行转换   283
12.2.1 IQueryable和相关接口的介绍   283
12.2.2 模拟接口实现来记录调用   285
12.2.3 把表达式粘合在一起:Queryable 的扩展方法   287
12.2.4 模拟实际运行的查询提供器   289
12.2.5 包装IQueryable   290
12.3 LINQ 友好的API 和LINQ to XML   290
12.3.1 LINQ to XML 中的核心类型   290
12.3.2 声明式构造   292
12.3.3 查询单个节点   294
12.3.4 合并查询操作符   296
12.3.5 与LINQ 和谐共处   297
12.4 用并行LINQ 代替LINQ to Objects   297
12.4.1 在单线程中绘制曼德博罗特集   297
12.4.2 ParallelEnumerable、Parallel-Query 和AsParallel    299
12.4.3 调整并行查询   300
12.5 使用LINQ to Rx 反转查询模型   301
12.5.1 IObservable和IObserver   302
12.5.2 简单地开始   303
12.5.3 查询可观察对象  304
12.5.4 意义何在   306
12.6 扩展LINQ to Objects   306
12.6.1 设计和实现指南   307
12.6.2 示例扩展:选择随机元素   308
12.7 小结   309
第四部分 C# 4:良好的交互性
第13 章 简化代码的微小修改   312
13.1 可选参数和命名实参   312
13.1.1 可选参数   313
13.1.2 命名实参   317
13.1.3 两者相结合   321
13.2 改善COM 互操作性   324
13.2.1 在C# 4 之前操纵Word是十分恐怖的   325
13.2.2 可选参数和命名实参的复仇   325
13.2.3 按值传递ref 参数   326
13.2.4 调用命名索引器   327
13.2.5 链接主互操作程序集   328
13.3 接口和委托的泛型可变性   330
13.3.1 可变性的种类:协变性和逆变性  331
13.3.2 在接口中使用可变性   332
13.3.3 在委托中使用可变性   334
13.3.4 复杂情况   335
13.3.5 限制和说明   336
13.4 对锁和字段风格的事件的微小改变   339
13.4.1 健壮的锁   339
13.4.2 字段风格的事件   340
13.5 小结   341
第14 章 静态语言中的动态绑定   342
14.1 何谓,何时,为何,如何   343
14.1.1 何谓动态类型   343
14.1.2 动态类型什么时候有用,为什么   344
14.1.3 C# 4 如何提供动态类型   345
14.2 关于动态的快速指南   345
14.3 动态类型示例   348
14.3.1 COM 和Office    348
14.3.2 动态语言   350
14.3.3 纯托管代码中的动态类型   353
14.4 幕后原理   358
14.4.1 DLR 简介   358
14.4.2 DLR 核心概念   360
14.4.3 C#编译器如何处理动态   362
14.4.4 更加智能的C#编译器   365
14.4.5 动态代码的约束   368
14.5 实现动态行为   370
14.5.1 使用ExpandoObject   370
14.5.2 使用DynamicObject   374
14.5.3 实现IDynamicMetaObject-Provider   380
14.6 小结  383
第15 章 使用契约让代码更加清晰   385
15.1 未引入代码契约之前的状态   386
15.2 代码契约   387
15.2.1 前置条件   388
15.2.2 后置条件   389
15.2.3 固定条件   390
15.2.4 断言和假设   392
15.2.5 旧式契约   393
15.3 使用ccrewrite 和ccrefgen 重写二进制   394
15.3.1 简单重写   394
15.3.2 契约继承   395
15.3.3 契约引用程序集   398
15.3.4 失败行为   399
15.4 静态检查   401
15.4.1 开始静态检查   401
15.4.2 隐式职责   403
15.4.3 有选择性的检查   406
15.5 使用ccdocgen 将契约文档化   408
15.6 契约实战   410
15.6.1 契约中有什么   410
15.6.2 如何开始   411
15.6.3 无处不在的选项   412
15.7 小结   414
第16 章 何去何从   415
16.1 C#——传统与现代的结合   415
16.2 计算机科学和.NET   416
16.3 计算机世界   417
16.4 再会   417
附录A LINQ 标准查询操作符   419
附录B .NET 中的泛型集合   430
附录C 版本总结   440

编辑推荐

   从现象中挖掘本质 全面剖析C# 4新特性 深入理解,探求本源 提升C#编程功力的首选。 

内容概要

Jon Skeet  Google软件工程师,微软资深C# MVP,拥有近10年的C#项目开发经验。他是C#社区和新闻组中非常活跃的技术专家,回答了数以万计的C#和.NET相关问题。他还在个人网站上撰写文 章,阐述C#和.NET最难理解的问题。他还著有另一本畅销书Groovy in Action。

图书封面


 深入理解C#(第2版)下载 更多精彩书评



发布书评

 
 


精彩书评 (总计5条)

  •     终于再次清晰了什么是委托的思路,以及委托和事件的区别再循序渐进的明白匿名方法就是委托的简单语法糖,而lamada又是匿名方法的简单语法糖,进而是linq,原来C#是这样进化的。而扩展方法再让C#编程函数化!其实说到最后就是通过委托来松耦合各个代码块的关系,而再通过各种语法糖的封装来简单化这些东西,增强语音的重用性,再来个扩展方法增加重用性和扩展性。还有泛型不也是增加重用性么。还有更细致的自动属性、自动参数、默认初始化等都是解放程序员的双手
  •     《深入理解C#(第2版)》,个人觉得是一本完全被低估的.net书,是一本需要和《CLR via C#(第3版)》同时放在案头的.net书(因为两本书有不同的方向,读一本不全,只有同时读两本,才能够互为补充)!《深入理解C#》一书是世界资深技术卖家C# MVP Jon Skeet“十年磨一剑”之经典之作,是.net爱好者提升C#编程功力的首选,该书的内容非常实用,C#诸多版本的特性,从C#1.0到4.0,作者不是简单地罗列出来,而是阐述每一项特性的发展史,让我们知其然知其所以然。该书对C#的核心特性,如类型系统、值类型和引用类型、泛型、委托、动态类型和LINQ等内容作了详细的描述。“站在巨人的肩膀上”,我们可以看得更远。 谢谢人民出版社图灵公司引进出版了这么好的一本.net书,谢谢@人民出版社 @图灵教育 @图灵社区 @图灵谢工 。
  •     这本是介绍.NET发展过程中各个版本新特性的好书。介绍了一系列的.NET特性改进的过程。重点如泛型,可空类型,扩展方法,Lambda表达式,集合初始化列表,Linq,及动态类型等等。当然这本书与CLR via C#全面介绍.NET运行机制,动态语言运行时及各种语法规范有很大不同。但对你贯穿.NET各个版本,快速掌握新版本新特性,及理解这种变化特性的根缘,是绝对有相当大的帮助的。

精彩短评 (总计98条)

  •     本书将C#的发展历程,从1.1 到4.0 新增加的功能 做了汇总以及做详细象的介绍,对比。
  •     C#进阶,了解语言特性,值得一读。
  •     这本书是c#进阶的很优质的书籍,值得拥有。
  •     书刚刚拿到就翻了两下,感觉整体不错,还有侧面的章节分割很人性化
  •     书好不错,印刷的也还不错,与商家描述的一致。
  •     整体来说还不错哦
  •     C#学习教材、参考书中经典中的经典,对开发人员有极大的参考价值,深入浅出、融会贯通,非常值得推荐
  •     此书是介绍内容相当深入丰富,经典之作
  •     翻了翻,内容不错。深入理解C#的好书
  •     部分内容有难度,理解起来有困难,还是有深度的一本书。翻译之后读起来不够顺畅,这也是自己英文不好造成的啊。
  •     早就有朋友推荐这本书,现在终于到手了,随手翻了几眼,觉得值得仔细看看。
  •     在首图借出来看到的。觉得写的很棒,所以买来收藏。非常不错,非常喜欢。
  •     深入理解C#(第2版)(资深C# MVP扛鼎之作,提升C#编程功力的首选) 好书
  •     送货实在太。。。太。。。太慢了,我想你们应该换个快递公司合作(我在广州,广州发货)
  •     内容精华,可惜知识点比较少
  •     还是觉得翻译太差劲了。。。
  •     看原版的应该会更好
  •     书的内容相当的不错,不过是建立在你对C#有一定的基础的前提下。
  •     书非常好,内容很适合提高自己的水平
  •     不错,可以全面的学习C#
  •     本书不是泛泛而谈,而是把C#的核心精妙的点评,一个程序员或者架构师必须读这本书。奇怪的是作者同时还是Groovy in action的作者,这两种语言差异还是蛮大的啊,风格和思路上讲。
  •     内容很好,很深入。
  •     书才刚刚拿到手,翻了下,对于新手来说可能还是有点难度的,希望能好好的消化这本书吧。
  •     看电纸书不爽。可是又怕翻译的不好。原版的纸质书又贵。有没有可以转让旧书的。
  •     介绍的非常详细,非常好的专业书
  •     不错的一本书,很经典,就是纸质一般。
  •     讲C#比较精品的书了。
  •     就是物流部给力。还是自己去取的
  •     内容不多,但是精彩.
  •     对于初学者来说太高深,不过的确是本好书
  •     略读,可以帮助你理解深层含义
  •     书的内容不错,不过主要看的时候感觉有点吃力,除我自己的理解能力,那可能是翻译的问题,或者原作者的论述方式。
    总体算满意,看一遍肯定是不够的。
  •     八年年没用C#写程序了,读了次数,茅塞顿开,过去我所诟病的C#的种种缺陷,如今都烟消云散,而且C#已经发展到超出我等想象力的境界。收到次数,爱不释手,这本书仔细比较了四个C#版本处理问题的手段的升级特点,重点突出,也很醒目,对我这种曾经用过C#又想继续深入进去的人,特别有益。总之,无论思想性,还是易读性,这本书都做得不错,可谓深入浅出。
  •     讲了很多实用的技巧!
  •     好书!能看英语版的就更好了
  •     深入探讨C#的语法.
  •     较系统介绍C#的使用,看后对该语言有更深的理解。
  •     很好,受益匪浅,有些地方还没太懂。
  •     从C#1.0开始讲,需要有一定功底的人看,比较难懂
  •     内容很好,纸张也不错
  •     入门之后的提升之作
  •     大致的翻了一下,很好的书,虽然是刚学C#学习本书有点吃力,还好一起还买了从入门到精通系列的,可以作为基础提高的标准化书籍来看,真是很有意义
  •     很多C#程序员在有了一定基础之后,会出现一个成长的瓶颈。他们觉得似乎了解了C#的基本语法和各种语言特性,但对于这些特性的演变以及它们之间的关联却知之甚少。他们会在代码中使用泛型集合,但是对于类型推断的规则似乎还很模糊;他们经常使用foreach语句,但却无法自如地使用yield;他们知道C# 3中增加了很多非常酷的语法糖,但却不知道这些语法糖实际上都是为了最酷的LINQ准备的;他们为C# 4提供了动态类型而欢欣鼓舞,但却不了解DLR如何实现动态绑定,并且往往会滥用dynamic。这时候,他们需要一本书,一本能对C#的每个特性进行透彻分析的书,一本能指引他们走向正确道路的书。他们不需要一本C# in Action,因为他们已经熟悉了字符串和整型,已经会编写接口、类、方法、属性和字段,甚至能说出引用类型和值类型的区别。他们需要的是一本进阶书,一本深入讲解C#的书。而现在您手上的,正是这样一本书。

    这就是in Depth和in Action的区别!

    本书没有任何关于****平台和CLR的内容,也不会指导你如何创建WPF或ASP****应用程序,它将全部注意力都放到C#语言本身,着重解析了C#各个版本的进化和演变。它面向中高级C#程序员,如果您只是初学者,那它并不适合您。正如老赵所说,这本书中肯定有一半以上是你不知道的东西。而且我觉得,书中的每一段代码,都可以作为一道面试题,如果您打算招聘一位高级****工程师,不妨参考书中的示例。

    在本书英文版刚刚问世时,就得到了业界诸多大牛的肯定和推荐。当图灵的编辑问我是否有兴趣翻译第二版的新增内容时,我恰好刚刚阅读完第一版的中文版,正处于余香绕齿的阶段,于是毫不犹豫地就答应了下来。

    第二版新增了三个大的章节(分别介绍了C# 4的新增特性和代码契约),并对迭代器和LINQ等内容进行了修订。说实话,我的工作量并不算多,但从开始翻译到最后交付,总共持续了八个多月(一月份签约,八月份交稿,后续还进行了一些修改),直接导致本书的上市推迟了将近半年,在此要向各位读者致歉。之所以翻译得慢,除了我自身的懈怠以外,本书的英文原文也并不像其他技术书籍那样浅显易懂,其中有很多暗语和弦外之音,如果我由于水平有限而没能参透其中的含义,请各位读者批评指正。

    周靖和朱永光两位老师为第一版的翻译付出了艰辛的劳动,在他们打下的良好基础之上进行工作,让我感觉踏实了不少。我还要感谢老赵为本书进行复审,如果没有他的修改意见,您一定会对这本书失望有加。

    最后,祝朋友们阅读愉快!希望您在学习编程这条永无止境的道路上,不仅in Action,更要in Depth!
  •     总台来说还是不错的,这回够了吧
  •     太遗憾了,在中途不知道什么原因自动把握这本书给取消了
  •     书有点旧。有点脏。望改正但最主要还是能学到东西...
  •     基础的东西写得比较多,非常深入的东西不是很深入。
  •     从C#的起源讲起,每版本的特性都进行分析,能更好的理解C#语言的特点!提高工作效率
  •     讲得很清楚,把语法糖的来由和本质都讲得很明白。
  •     快速导航 for how to artistic use c# , 可惜缺了 多线程
  •     再看中。 看起来应该挺不错的!
  •     还在看,评论容我看完补上。但在****上编程的朋友都应该看看,特别用c#的。
  •     确实是学习C#的进阶之作,要想好好理解非得下一番功夫不可~最好是亲自动手尝试~
  •     还没细看,不过书质量还可以,当当的书还是挺干净的.放心.买了不少了.
  •     基本都是晚上回宿舍读的。全是语法糖,为啥这么难读啊,难道是因为故弄玄虚?微软的语言和技术虽然资料多,但可读性真是糟透了,简单的东西写的那么麻烦
  •     发货速度不理想。 系统提示14日送达,到15日中午才送到。书的脚边有小裂。 书本身内容挺不错,但是于当当网服务没关系。
  •     书还没看 不过质量确实不错 最近抽空看看
  •     正在阅读,此书有必要一读
  •     刚读了前四章,有些翻译简直让人无语。
    亵渎了这本书,希望买的人慎重考虑。
  •     很庆幸我从2.0开始接触.net
  •     好久没读这么棒的讲语言的书了,全是干货
  •     讲解C#的特性
  •     比泛泛地C#书好多了
  •     作为在c#进阶方面,是最好的选择!
  •     这本书值得看看。通过实例来讲解 C#1.0/2.0/3.0/4.0 的区别和语言演变过程。很不错。
  •     感觉挺一般的说,还没细读
  •     适合有一定基础的人群阅读,有些地方讲的比较精彩
  •     感觉更像是一本纪事,呵呵,不过深度确实不错,思路很清晰,值得一看
  •     很实用,对工作有很大帮助。
  •     还没看,屯着先,一直搞C#
  •     C#的中级教程,市面上少有的主要讲C#2-4的书,总评A++,难度A+,推荐指数A(SABC分级)
  •     一般都是临时用下C#做GUI,看了这本书发现C#真高端,都想认真学习下了
  •     C#这么语言一出来就有好多不同的声音,我们用着,但甚至还自卑着。究竟我们知道的有多少,对常用的概念我理解了多少这就很难说了。“泛型”我习惯了用,但是大多时候,大多人只是习惯着这种方式,它的好处已经有足够多的书说了,如果问有什么弱点,相信C#er会愣住,似乎从来没有想过。我们思想没有到达那个境界时候一般是遇到智者指点引导,而《深入理解C#》对我们而言它就是智者,指点我们应该怎么的思考问题,如何全面的理解C#所包含的内容。狭义上说这是一般详细描述C#的书,广义说这是一本授之以渔的秘籍。相信再过几年后,C#会好多语言一样渐渐的淡出大众视野,而这本书的生命力还会延续。狭义的部分会被大多数人忽略,而它的广义的层面就可以使好多人心动!
  •     从C#1到C#4都有详细的对比很分析,很实用,C#程序员必读
  •     这邮政快递真的不能相信,我1月13日买的,年三十下午才到,初三才拿到书,一共用了二十天,真是亮瞎了我的双眼!
  •     虽然很多人clr是圣经,但是我想说这本也是圣经,而且它的讨论点有一些比clr深入。
  •     讲解生动详细,比高级编程好多了
  •     刚收到书,大概看了下,还可以
  •     最喜欢的讲解来龙去脉的书,能够结合来龙去脉学习语言非常惊喜
  •     这本是介绍.NET发展过程中各个版本新特性的好书。介绍了一系列的.NET特性改进的过程。重点如泛型,可空类型,扩展方法,Lambda表达式,集合初始化列表,Linq,及动态类型等等。当然这本书与CLR via C#全面介绍.NET运行机制,动态语言运行时及各种语法规范有很大不同。但对你贯穿.NET各个版本,快速掌握新版本新特性,及理解这种变化特性的根缘,是绝对有相当大的帮助的。
  •     看了前五章,内容还可以,表述太啰嗦
  •     马上要看完了,让自己走出了不少误区,理解了一些更深层次的东西
  •     书还没收到,在网上看了简介,好不错,希望能大大提升我的功力~
  •     经典的书, 仔细看看。
  •     这本书内容很丰富,看来要学很长时间了
  •     全面介绍C#各版本的进化历程,从C#演化的角度来介绍C#是如何解决问题的。
  •     介个二货书,借你一点用都么有。。。
  •     我买的书不少,留下不错影响的几乎都是老外写的。从之前的红皮书到这本。
    看了几页应该不错,进阶选它没错。
  •     读完对C#了解更进了一步
  •     确实对得起 那么高的网评
  •     如题,能够提高C#开发人员的语言认知水平。
    强烈推荐。
  •     语法特性梳理得好,冷门特性讲应用场合这点特别赞。但行文应该还能做到更简练。
  •     可能功力不够,这本书看起来很吃力,坚持着看完了,好多内容都没有完全消化,功力提升后再看一次
  •     当看完此书的第一版时,我竟然有点舍不得把它归还图书馆!这绝对是一部大师级的作品。这本书教会了你什么样的代码才是优雅良好的代码,哪些语言特性在C# X.0出现并让你由衷地爱上这些特性。作者说如果你在阅读这本书的时候,没有感到惊叹或兴奋,那可能是他的失败。就我个人而言,我是看到兴起时几乎要拍案而起!所以知道第二版要出书时,毫不犹豫就买了!!!
  •     只粗看了下目录,还没看,对内容不发表评论。封底皱得不像样了。现在dangdang都发残次品?
  •     翻译是在太烂了,看到很多词不达意、充满语病的翻译,译者也许技术很牛B,但是真的需要长难句翻译的老师好好指导指导,逐词逐句地翻译,不光是让人难懂了,有些句子的主谓宾都残了!!!!!
  •     必须有点基础才行,否则有点累.
  •     C#4必读经典,主要讲解C#语言特性
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024