C#数组是由System.Array类派生而来的引用对象,可以使用Array类的属性来对数组进行各种操作。
Array类的属性及方法
用方括号声明数组是C#中使用Array类的表示法。在后台使用C#语法,会创建一个派生自抽象基类Array的新类。这样,就可以使用Array类为每个C#数组定义的方法和属性。
Array类的属性
属性 | 说明 |
IsFixedSize | 获取一个值,该值指示数组是否带有固定大小 |
IsReadOnly | 获取一个值,该值指示数据是否只读 |
Length | 获取一个32位整数,该值表示所有维度的数组中的元素总数 |
LongLength | 获取一个64位整数,该值表示所有维度的数组中的元素总数 |
Rank | 获取数组的秩(维度) |
Array类的方法
方法 | 描述 |
Clear | 根据元素的类型,设置数组中某个范围的元素为零,为false或者为null |
Copy(Array,Array,Int32) | 从数组的第一个元素开始复制某个范围的元素到另一个数组的第一个元素位置。长度由一个32位整数指定。 |
Copy(Array,Int32) | 从当前的一维数组中复制所有的元素到一个指定的一维数组的指定索引位置。索引由一个32位整数指定。 |
GetLength | 获取一个32位整数,该值表示指定维度的数组中的元素总数 |
GetLongLength | 获取一个64位整数,该值表示指定维度的数组中的元素总数 |
GetLowerBound | 获取数组中指定维度的下界 |
GetType | 获取当前实例的类型。从对象(Object)继承 |
GetUpperBound | 获取数组中指定维度的上界 |
GetValue(Int32) | 获取一维数组中指定位置的值。索引由一个32位整数指定 |
IndexOf(Array,Object) | 搜索指定的对象,返回整个一维数组中第一次出现 的索引 |
Reverse(Array) | 逆转整个一维数组中元素的顺序 |
SetValue(Object,Int32) | 给一维数组中指定位置的元素设置值。索引由一个32位整数指定 |
Sort(Array) | 使用数组的每个元素的IComparable实现来排序整个一维数组中的元素 |
ToString | 返回一个表示当前对象的字符串。从对象(Object)继承 |
数组合并与拆分
数组的拆分与合并并不是针对一个数组进行操作的,而是将两个数组合并到第三个数组中去。在C#中数组的拆分与合并是通过Array类提供的Copy方法实现的。
Copy有四种重载形式:
Copy(Array, Int64, Array, Int64, Int64) //长度和索引指定为64位整数
Copy(Array, Int32, Array, Int32, Int32) //长度和索引指定为32位整数
复制Array中的一系列元素(从指定的源索引开始),并将它们粘贴到另一Array中(从指定的目标索引开始)。
Copy(Array, Array, Int64)
Copy(Array, Array, Int32)
从第一个元素开始复制Array中的一系列元素,将它们粘贴到另一个Array中(从第一个元素开始)。