深入理解C#(第2版)的笔记(15)

按有用程度 按页码先后 最新笔记

  • 飞林沙 (此账号吐槽的方法已被注释)

    搞清楚C#的泛型,一定要弄明白JIT编译器是如何来处理泛型的,然后参照Java的泛型原理,来弄懂为什么说Java的泛型是伪泛型,C#的泛型比Java的泛型好在哪。同样的代码: List<int> list = new List<int>(); list.Add(1); 作用在C#和Java上,性能是否相同,他们的执行过程差在哪里。 了解了这些后,很多人,包括我自己都会弄混一个泛型的概念,.NET为每个值类型生成一套代码,为所有引用类型生成同一套代码,那么这句...

    2012-01-11 03:03:42   1人喜欢

  • 飞林沙 (此账号吐槽的方法已被注释)

    其实Java程序员的乐趣在于学习一个又一个成熟的框架,然后却只用着SSH,或者SSI来解决几乎所有的问题,读框架源码,然后定制着自己的框架。 但是C#程序员最开心地莫过于跟着微软的步伐体验着C#在进化过程中一个又一个酷炫的语法特性。 C#1.0是一个简陋的语言,说C#1.0 == Java并不为过,而某Java设计者说C#的delegate是一个语言上的退化从今天来看更是成为了笑话。 C#2.0其实只是加入了泛型和匿名方法的概念,C#的泛型完美地改...   (3回应)

    2012-01-09 11:34:52   1人喜欢

  • 心灵的翱翔

    《深入理解 C#》 (第2版) ========== ========== ========== [作者] (英) Jon Skeet [译者] (中) 周靖 朱永光 姚琪琳 [出版] 人民邮电出版社 [版次] 2012年01月 第1版 [印次] 2012年01月 第1次 印刷 [定价] 79.00元 ========== ========== ========== 【关于本书】 具体地说, C# 作为一种语言,它的基础是各种各样的 “框架库” (.NET Framework 中的各种库) 以及一个强大的运行时 (runtime) 。借助它们,我们可以将抽象的东西...

    2020-03-04 19:00:14

  • 陈小奈 (虽不能至,然心向往之)

    object愚蠢,必须不断做强制类型转换,这不是也在贬低objc的id吗

    2012-10-09 14:30:57

  • 陈小奈 (虽不能至,然心向往之)

    用不着掌握所有细节就可以写出有效率的程序,其他领域也如此,千万别指望都学通后再做事,没那么多时间,也没有葵花宝典这种神器

    2012-10-09 14:30:56

  • 陈小奈 (虽不能至,然心向往之)

    用报纸和网页比喻值和引用很妙

    2012-10-08 18:55:52

  • skyivair (微蓝)

    当有多个类型参数时,可以用一个适合整个类型含意的单词来分隔它们,例如,我会使用dictionary of string to int来强调映射的部分,而不会使用tuple of string and int。 其中“不会使用”应改为“对tuple会使用” ,请看原文(这里but不能翻译为“不会”): When there are multiple type parameters, I find it makes sense to separate them with a word appropriate to the meaning of the overall type—so I’d talk about...   (1回应)

    2012-04-14 06:46:49

  • skyivair (微蓝)

    http://www.csharpindepth.com/ViewNote.aspx?NoteID=186 GetHashCode should almost always be unchecked Chapter 3: Parameterized typing with generics: P79 (中文版P67) Created: 03/09/2011 Last updated: 03/09/2011 I don't talk about checked/unchecked blocks much if at all in C# in Depth, but I do give an example of a Pair class which overrides GetHashCode. In the interests of brevity, I left this met...

    2012-04-11 17:09:37

  • 飞林沙 (此账号吐槽的方法已被注释)

    PLINQ是LINQ的并行版本,转换起来其实非常简单: var query = from row in Enumerable.Range(1,Height) from column in Enumerable.Range(1.Width) select ComputeIndex(row,column) 这样就可以转换为一个并行版本: var query = from row in Enumerable.Range(1,Height).AsParallel() from column in Enumerable.Range(1.Width) select ComputeIndex(row,column) 但是这样如果电脑是多核,则会将Range(1,Height)打乱,从而让接...

    2012-01-18 00:33:42

  • 飞林沙 (此账号吐槽的方法已被注释)

    LINQ是C#3.0的最大的更新部分,我们甚至可以说,C#3.0其他所有的更新是都是为了LINQ来做准备,而社区中更是发起了Everything is LINQ的热潮。 将扩展方法,Lambda表达式和表达式树结合到一起,就是LINQ在C#中全面体现。扩展方法让我们使得可以像调用实例方法一样调用静态方法,Lambda表达式提供了编译时检查的能力,而表达式树将执行模型从你所需的逻辑中提取出来。 而表达式树,cnblogs的大神装配脑袋在09年写过一个关于表达式...

    2012-01-17 23:25:09

<前页 1 2 后页>

笔记是你写在书页留白边上的内容;是你阅读中的批注、摘抄及随感。

笔记必须是自己所写,不欢迎转载。摘抄原文的部分应该进行特殊标明。

深入理解C#(第2版)

>深入理解C#(第2版)