第二部分 类型与通用语言运行时----读《Microsoft.NET框架程序设计》
2007-07-04 19:54
267 查看
未装箱类型作为轻量级类型(相对于引用类型而言)的两个原因:
它们不被分配在托管堆上.
它们没有托管堆上的对象都有的额外的附加成员:一个方法表指针和一个SyncBlockIndex.
因为未装箱值类型没有SyncBlockIndex,所有我们不可能利用System.Threading.Monitor类型来同步 多个线程对它们的访问.因为未装箱值类型没有方法表指针,所以我们也不可能通过值类型的未装箱实例来调用其上继承而来的虚方法.另外,将一个未装箱的值类型实例转型为一个该类型实现的接口类型也需要对该实例进行装箱,因为接口类型总是引用类型.
它们不被分配在托管堆上.
它们没有托管堆上的对象都有的额外的附加成员:一个方法表指针和一个SyncBlockIndex.
因为未装箱值类型没有SyncBlockIndex,所有我们不可能利用System.Threading.Monitor类型来同步 多个线程对它们的访问.因为未装箱值类型没有方法表指针,所以我们也不可能通过值类型的未装箱实例来调用其上继承而来的虚方法.另外,将一个未装箱的值类型实例转型为一个该类型实现的接口类型也需要对该实例进行装箱,因为接口类型总是引用类型.
相关文章推荐
- 第二部分 类型与通用语言运行时----------------读《Microsoft.NET框架程序设计》
- 第二部分 类型与通用语言运行时2-----《Microsoft.NET框架程序设计》
- 类型与通用语言运行时
- 类型与通用语言运行时:System.Object
- (四)类型与通用语言运行时
- 类型与通用语言运行时:类型转换
- 第二部分: Dijit 1 通用属性
- 第二部分 Linux Shell高级编程技巧——第三章 运行级别脚本介绍
- 【C语言探索之旅】 第二部分第六课:创建你自己的变量类型
- 《C++捷径教程》读书笔记--Chapter 9--更多的数据类型与运算符(第二部分)
- C# 编程指南(2):语言部分:程序的通用结构
- Web探索之旅 | 第二部分第二课:服务器语言
- JavaSE基础第二部分:Java基础语法之类型
- 第一部分 基本语言 第三章 标准库类型(3.3标准库vector类型)
- 第一部分 基本语言 第二章 变量和基本类型(2.3.4变量初始化规则)
- 如何加载通用语言运行时?
- 【Web探索之旅】第二部分第二课:服务器语言
- 编译原理-第2部分形式语言导论-第二节文法和语言 第二小节形式语言分类
- 通用线程:awk 实例,第 1 部分:一种名称很奇特的优秀语言介绍
- 【C程序设计语言】第二章-类型、运行符与表达式 | 练习