摘要:
本章主要讲述的是不同种类的类型(原生类型,引用类型、值类型,动态原生类型),以及这些类型的共性与特性。解释了装箱和拆箱的作用,哪些情况下会发生,如何来避免。还有需要特别注意的在override System.Object的方法(Equals, GetHashCode...)时的重要规则,还有dynamic与var之间的差别。 阅读全文
摘要:
本章主要讲的是类型的一些基本概念,一切类型都是从System.Object继承下来了,在具体的实现中有CLR内部调用机制来进行优化,这与Python的实现有明显的不同,尤其是在内存分配的处理上,.NET显然更高效。然后说明了不同类型之间是如何转换的,以及命名空间的实现原理,命名空间与程序集之间的关系。最后说明了在运行期,CLR是如何使用线程栈和应用程序堆的,并逐步解释了程序执行过程中栈和堆的变化,以及JIT参与的情况。 阅读全文