`
- 浏览:
30813 次
- 性别:
- 来自:
西安
-
(P13) 在很大程度上,C# 2 更像是对 C# 1 的各种不足之处的修修补补,所以并没有一鸣惊人。而 C# 3 中几乎所有特性都是为了构建 LINQ,并且其结果也十分特别;
(P24)
为了让委托做某事,必须满足4个条件:
—— 声明委托类型;
—— 必须有一个方法包含了要执行的代码;
—— 必须创建一个委托实例;
—— 必须调用(invoke)委托实例;
(P30) 事件不是委托实例 —— 只是成对的 add/remove 方法 (类似于属性的 取值方法/赋值方法);
(P37)
数组类型是引用类型,即使元素类型是值类型(所以 int[] 仍是引用类型,即使 int 是值类型);
接口类型 (使用 interface 来声明) 是引用类型,但可由值类型实现;
(P38)
变量的值是在它声明时的位置存储的,局部变量的值总是存储在栈 (stack) 中,实例变量的值总是存储在实例本身存储的地方。引用类型实例 (对象) 总是存储在堆 (heap) 中,静态变量也是;
值类型不可以派生出其他类型;
(P40) 当你调用类型变量值的 GetType() 方法时总是伴随着装箱过程,因为它不能被重载。如果处理未装箱形式的变量,你应该已经知道了具体类型,因此使用 typeof 替代即可;
(P41)
引用类型的对象总是在堆上,值类型的值既可能在栈上,也可能在堆上,具体取决于上下文;
引用类型作为方法参数使用时,参数默认是以“值传递”方式来传递的 —— 但值本身是一个引用;
值类型的值会在需要引用类型的行为时被装箱;拆箱则是相反的过程;
(P47) 所谓“函数化”的编程风格,是指鼓励开发者更多地利用委托。匿名方法和Lambda表达式的引入,使委托变得易于创建和使用;
(P48) 从根本上说,泛型实现了类型和方法的“参数化”,就像在普通的方法调用中,经常要用参数来告诉它们使用什么值。同样,泛型类型和方法也可以让参数告诉它们使用什么类型;
(P52) 未绑定泛型类型是已构造类型的蓝图,已构造类型是实际的对象的蓝图,正是因为存在这个关系,所以才有“额外的抽象层”一说;
(P53) 其实 C# 语言规范已经说得很清楚,凡是不是“开放类型”的类型,就是“封闭类型”。凡是涉及类型参数的类型,就是“开放类型”;
(P55)
T 是在整个类的范围内使用的类型参数;
紧跟在方法名后面尖括号中的类型参数,是泛型方法的类型参数;
(P57)
不能因为一个方法是泛型的,就意味着它必须是泛型类型的一部分;
调用泛型方法时,使用和前面见到的一样的语法来指定参数类型;
(P58)
约束要放到泛型方法或泛型类型声明的末尾,并由上下文关键字 where 来引入;
引用类型约束表示成 T : class 必须是为类型参数指定的第一个约束;
构造函数类型约束表示成 T : new() 必须是所有类型参数的最后一个约束;
(P62)
每个类型参数的约束列表都要单独用一个 where 引入;
类型推断只适用于泛型方法,不适用于泛型类型;
(P74) 实现接口所规定的方法或属性时,附加接口名作为前缀,即称为“显式接口实现”;
(P78) 数组协变性 —— 引用类型的一个数组可以被视为它的基类型的一个数组,或者被视为它所实现的任何接口的一个数组;
(P141) 在常规的方法中,return 语句具有两个作用:第一,给调用者提供返回值;第二,终止方法的执行,在退出的时候执行合适的 finally 代码块;
(P194)
LINQ 的基本功能就是创建操作管道,以及这些操作需要的任何状态;
LINQ to Objects 处理的是同一个进程中的数据序列;
(P196)
Lambda 表达式最冗长的形式是 —— ( 显式类型参数列表 ) => {语句}
Lanbda 表达式快捷语法形式:
( 显式类型参数列表 ) => 表达式
( 隐式类型参数列表 ) => 表达式
参数名 => 表达式
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
《深入理解C#(第2版)》是C#领域不可多得的经典著作。作者Jon Skeet在详尽地展示C#各个知识点的同时,更注重从现象中挖掘本质。本书深入探索了C#的核心概念和经典特性,并将这些特性融入到代码中,让读者能够真正领会...
《深入理解C#(第2版)》是C#领域不可多得的经典著作。作者在详尽地展示C#各个知识点的同时,更注重从现象中挖掘本质。本书深入探索了C#的核心概念和经典特性,并将这些特性融入到代码中,让读者能够真正领会到C#之...
《深入理解C# 第3版》是一本专为C#开发者设计的深度学习教程,旨在帮助读者全面掌握C#编程语言的核心概念和技术。这本高清PDF版本提供了原版书籍的所有内容,确保读者能够获得最准确、最新的知识。下面将详细阐述这...
《深入理解C#_第3版》是一本针对C#编程语言的深度学习教程,尤其适合Unity游戏开发的初学者。这本书旨在通过详尽的解释和实例,帮助读者从基础知识到高级特性的全面掌握C#语言。以下是该书可能涵盖的一些关键知识点...
理解C#(第2版)-第1部分共2部分 出版时间:2012年1月1日 外文书名: C# in Depth Second Edition
《深入理解C#(第2版)》是C#领域不可多得的经典著作。作者Jon Skeet在详尽地展示C#各个知识点的同时,更注重从现象中挖掘本质。本书深入探索了C#的核心概念和经典特性,并将这些特性融入到代码中,让读者能够真正领会...
《深入理解C#》是一本深受程序员喜爱的书籍,尤其对于C#初学者来说,它提供了全面且深入的C#语言教程。这本书以其清晰的解释和实用的例子,帮助读者建立起坚实的C#编程基础。以下是对书中核心知识点的详细阐述: 1....
《深入理解C#(第2版)》是C#领域不可多得的经典著作。作者在详尽地展示C#各个知识点的同时,更注重从现象中挖掘本质。本书深入探索了C#的核心概念和经典特性,并将这些特性融入到代码中,让读者能够真正领会到C#之...
《深入理解C#(第2版)》是C#领域不可多得的经典著作。作者Jon Skeet在详尽地展示C#各个知识点的同时,更注重从现象中挖掘本质。本书深入探索了C#的核心概念和经典特性,并将这些特性融入到代码中,让读者能够真正领会...
在第2版的基础上,《深入理解C#(第3版)》新增了C# 5的新特性——异步,并更新了随着技术的发展,已经不再适用的内容,确保整本书能达到读者期望的高标准。 如果你略微了解一点C#,就可无障碍地阅读《深入理解C#(第3...
在第2版的基础上,《深入理解C#(第3版)》新增了C# 5的新特性——异步,并更新了随着技术的发展,已经不再适用的内容,确保整本书能达到读者期望的高标准。 如果你略微了解一点C#,就可无障碍地阅读《深入理解C#(第3...
《深入理解C#(第2版)》是 Jon Skeet 的经典之作,旨在为程序员提供对C#语言的深入解析,特别适合已经掌握了C#基础知识并希望深化理解的开发者。这本书详细介绍了C#的关键特性,涵盖了从基础语法到高级主题的各种...
《深入理解C#(第2版)》一书旨在为读者提供全面且深入的C#编程语言知识,从基础语法到高级特性,从面向对象编程到泛型、异步编程等,涵盖了C#语言的各个方面。C#是一种现代、面向对象、类型安全的编程语言,由微软...
[Manning Publications] 深入理解 C# 第3版 英文版 [Manning Publications] C# in Depth 3rd Edition E Book ☆ 出版信息:☆ [作者信息] Jon Skeet [出版机构] Manning Publications [出版日期] 2013年09月...
《深入理解C#(中文第三版)》是C#编程领域的经典著作,旨在帮助开发者全面、深入地掌握C#这门强大的编程语言。本书不仅涵盖了C#的基础语法和特性,还深入探讨了高级主题,包括元数据、反射、类型安全、垃圾回收、...
《深入理解c#:第2版》是c# 领域不可多得的经典著作。作者在详尽地展示c# 各个知识点的同时,更注重从现象中挖掘本质。 经典中的经典哇 本人花钱在淘宝买的,版权问题我就没管了哈。但是本人也没敢独享,发出来有...
《深入理解C#》是C#编程领域...总之,《深入理解C#》第三版的源码是学习和提升C#编程技能的宝贵资源,结合书中的理论讲解,开发者可以系统地掌握C#语言,并将其应用到日常开发工作中,从而编写出更加优雅和高效的代码。
深入理解C# 第2版(中文版),专注于C#语言从C#1.0到4.0的特性。建议想深入学习C#语言的同学去书店买实体书,支持正版。
深入理解C#(第二版)中文版,C#中高级程序员必读。由于原pdf大于50M,在此分两个压缩包献上!