第四章 类型基础

1. 概述

  本章讲述使用 类型 和 CLR 时需要掌握的一些基础知识。

2. 名词解释

3. 主要内容

  3.1 所有类型都从System.Object 派生

    所有对象都用new操作符来创建,步骤如下:

    ① 计算类型及其所有基类型中定义的实例字段需要的字节数。包括两个额外成员:类型对象指针 和 同步块索引。

    ② 从托管堆中分配指定类型要求的字节数,从而分配对象的内存,分配的所有字节都设为零(0)。

    ③ 初始化对象的 类型对象指针 和 同步块索引。

    ④ 调用类型的实例构造器,向其传入在对new的调用中指定的任何实参。

  3.2 类型转换

    CLR具有类型安全性。

    使用C#的 is 和 as 操作符来转型。

      is 检查一个对象是否兼容于指定的类型。永不会抛出异常。

      as 类似强制转换。永不会抛出异常。转换失败会返回null。

  3.3 命名空间和程序集

    两者不一定是相关的。同一个命名空间中的各个类型可能在不同的程序集中实现。反之,同一个程序集中,也可能包含不同命名空间的类型。

  3.4 运行时的相互联系

    线程栈和托管堆的分配情况。

4. 总结

  概述了类型的基础和堆栈分配情况。

原文地址:https://www.cnblogs.com/stone_lv/p/4292927.html