[C#]基础——注意事项

1. 静态类必须直接继承Object

2. 静态类不能实现接口,不能继承其他类(除了Object)

3.静态类中不能有实体方法

4.实体类中可以有静态方法,使用同 静态类

5.readonly属性可以在构造函数中初始化,static readonly可以在static 构造函数中初始化,因此他们是运行时确定

6.const属性 只能在声明是初始化,他在编译时确定。 如果要使用const属性,它和静态类中的静态方法/属性使用方法一致

7.接口中的方法不需要可访问性关键字的修饰

GC 流程:

假设堆上所有都是垃圾 -> 根据ROOT(静态熟悉,方法实参,局部变量,CPU寄存器)判断对象是否正在被使用:标记 -> 清理未标记的垃圾 -> 压缩堆 ->调整ROOT值已经 未回收对象间的引用关系(由于内存地址在压缩阶段被更改) -> 设置NextObjPrt 的地址为GC压缩结束后的最后对象的地址+对象大小+2*32位或者64位(即2*4或者2*8个字节)

原文地址:https://www.cnblogs.com/FsharpZack/p/3560837.html