.net框架所有数组均隐藏继承自System.Array。
数组有维数(Rank),长度(Length),元素类型(Element Type)基本属性.
数组基类System.Array:
Array实现了以下几个接口:ICloneable、IEnumerable、ICollection、IList。
Array中常被忽视的几个属性与方法:
Rank:只读实例属性,返回数组的维数。
GetLength:实例方法,返回数组中指定维数的元素个数。
Length:只读实例属性,返回数组中所有元素的总个数(我一直以为这个是返回某维数的元素个数,真是惭愧)。
GetLowerBound:实例方法,返回数组中指定维数的下限。
GetUpperBound:实例方法,返回数组中指定维数的上限。
IsSynchronized:只读实例属性,指示数组的访问是否线程安全,通常总为false。
SyncRoot:只读实例属性,返回一个可用来同步访问数组的对象。关于IsSynchronized和SyncRoot属性,可参看该文章:http://www.cnblogs.com/free722/archive/2011/03/25/1995120.html
GetEnumerator:实例方法,为数组返回一个IEnumerator。
Sort:静态方法,对数组元素进行排序,数组元素必须实现ICompare接口。
BinarySearch:静态方法,使用二分搜索法来搜索指定数组中的指定元素。该方法假定数组本身已经排好序。通常在调用BinarySearch前应首先调用Sort方法。
IndexOf:静态方法,返回某个值在数组中第一次出现的索引值。
LastIndexOf:静态方法,返回某个值在数组中最后一次出现的索引值。
Reverse:静态方法,反转数组全部或部分元素顺序。
Clone:实例方法,返回一个新创建数组,该数组是源数组的一个浅拷贝。
CopyTo:实例方法,将源数组中的元素拷贝到目的数组中。
Copy:静态方法,将一个数组中的部分元素拷贝到另一数组中,并根据需要进行适当转型。
CreateInstance:静态方法,创建一个数组实例,它允许我们动态定义拥有任何类型、任何维数、任何上下限的数组。
Array实现了以下几个接口:ICloneable、IEnumerable、ICollection、IList
public interface ICloneable { object Clone(); } public interface IEnumerable { IEnumerator GetEnumerator(); } public interface ICollection : Ienumerable { int Count{get;} //元素个数 bool IsSynchronized{get;} //是否同步集合访问(线程安全) object SyncRoot{get;} //获取可同步访问对象 void CopyTo(Array array,int index); //从指定索引处复制数组元素到另一个数组。 } public interface IList : ICollection,IEnumberable { object this[int index] {get;set;} //获取或设置位于指定索引处的元素 bool IsFixedSize { get; } //是否固定大小 bool IsReadOnly { get; } //是否只读 增: int Add(object value) //将项目添加到Ilist中 int Insert(int index, object value) //将项目插入到指定索引位置 删: void Clear() //移除IList所有项目 void Remove(int index) //移除指定索引处的Ilist项目 void Remove(object value) //移除特定对象的第1个匹配项 查: bool Contains(object value) //是否包括特定值 int IndexOf(object value) //返回特定项目索引 }
原文:http://www.cnblogs.com/free722/archive/2011/03/28/1998153.html