杂记

CLR初始化的时候记着要计算syn同步块,和方法表指针,同时对其他字段重新排序,使之成为内存对齐的某种方式,

 const  readonly区别:

const 在编译时的值就是已知的,以后都不能改变,所有用到这个数据的地方都是内联使用的

readonly  它的值是动态初始化的,一旦初始化之后就不能再改变,就是说在调用构造函数之后这个值要确定下来,

              并且以后都不能改变,注意const是在编译时就确定下来的,时间是不一样的。

 重载:函数重载不能依赖ref out

嵌套类型可以访问嵌套它的类型的所有私有字段,反之则不可以。

静态构造函数翻译成.cctor()s,构造函数翻译为.ctor().

接口类型默认是abstract类型,所以有关接口的方法都是虚的。也就是为什么要虚化。

C#在子类中隐藏父类的方法是基于签名的,而C++在子类中隐藏父类的方法是基于函数名.

实现接口的类中有一个接口表指针,这个指针的主要作用是用来测试类型的兼容性的,

还有一个接口偏移量表,用来调用对应的方法的。

 .NET中,注意equals()的比较,同时区别“相等”与“统一”的区别。

原文地址:https://www.cnblogs.com/qianyz/p/1865094.html