【C#】C# in deep 笔记

1. delegate and events

http://csharpindepth.com/Articles/Chapter2/Events.aspx

2. 显式类型 和 隐式类型

3. 静态类型, 动态类型

静态类型, 编译时候已经定义好的类型.

动态类型: 编译时候通过动态去检查的类型.

4. 强弱类型

数组是强类型的. 所以不可能将string[]中的元素设置成filestream.

system.collections命名空间中的为弱类型. 比如 ArrayList/Hashtable

5. 值类型和引用类型

扫描二维码关注公众号,回复: 2143639 查看本文章

用现实举例来说, 如果你在读一份报纸, 你想让你的朋友也阅读一份, 所以你去打印机那面打印了一份相同的报纸给你的朋友, 这就是值类型, 因为无论你在你的报纸上做什么样的更改注解, 都不会影响到你朋友的那份报纸. 但是如果你是在阅读一个网页, 你将网页的URL分享给了你的朋友, 那么你两用的就是一个引用类型.

.net中大多数类型都是引用类型.

 6. 装箱 拆箱

看个栗子:

int i = 5;

object o = i;

int j = (int)o;

解释一下这个过程. 首先i是值类型的一个变量. 将i赋值成5, 然后将i赋值给o的操作, 实际上是在内存中复制一个i的副本, 将i装箱成一个引用类型, 赋值给o. 然后将o拆箱转换成int值类型赋值给j.

7 . 归纳不同阶段的C#的特性.

C#1

静态的

C#2

泛型以及泛型集合, 受限的委托, 可空类型(int? x = null)

C#3

匿名类型, 隐式类型, 扩展方法, lambda表达式

C#4

受限的泛型斜变, 动态类型(dynimic)

猜你喜欢

转载自www.cnblogs.com/it-dennis/p/9150486.html