.NET中数组的隐秘特性[1]

[入库:2005年8月18日] [更新:2007年3月25日]

本文简介:选择自 dy_2000_abc 的 blog

.net中数组的隐秘特性

背景知识
       array类是所有数组类型的基类,上一篇文章《.net中string类的隐秘特性》中提到:数组的长度不是固定不变的,是可变的。
       首先了解一些相关的概念:
       数组元素:数组包含的值;
       数组长度:数组可以包含的元素的个数;
       维度数:数组的维度总数;
       下限:数组指定的维度的起始索引。多维数组每个维可以有不同的下限。
       运行时有两种不同的数组实现--sz数组和普通数组。sz数组是以0为下限的一维数组;普通数组指多维的或者下限不为0的数组。有时候我们称呼多维数组为md数组。由于sz数组较常用,微软对它的性能进行了极大的优化。下面的表详细列出了sz数组与md数组的区别。

sz数组 md数组
定义 一维的,以0为下限的数组 多维的,或者下限不为0的数组
c#语法

object[]

object[][] (交错数组)
object[,] ---二维数组
是否兼容cls 兼容(交错数组除外) 不兼容
il优化 使用专用的il指令来操作这些数组,比如:ldlenstelem
本文关键:数组 Array ArrayList .net
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top