C# 中的数组类

来源:互联网 发布:淘宝网mac版下载 编辑:程序博客网 时间:2024/06/08 17:58

数组是 n(n≥1)个相同数据类型的数据元素的有限序列。一维数组可以看作是一个线性表,二维数组可以看作是“数据元素是一维数组”的一维数组,三维数组可以看作是“数据元素是二维数组”的一维数组,依次类推。

C#支持一维数组、多维数组及交错数组(数组的数组)。所有的数组类型都隐含继承自 System.Array。Array 是一个抽象类,本身又继承自 System.Object。所以,数组总是在托管堆上分配空间,是引用类型。任何数组变量包含的是一个指向数组的引用,而非数组本身。当数组中的元素的值类型时,该类型所需的内存空间也作为数组的一部分而分配;当数组的元素是引用类型时,数组包含是只是引用。

常用的数组方法:

using System;using System.Collections;public abstract class Array : ICloneable, IList, ICollection, IEnumerable{    //判断 Array 是否具有固定大小。    public bool IsFixedSize { get; }    //获取 Array 元素的个数。    public int Length { get; }    //获取 Array 的秩(维数)。    public int Rank { get; }    //实现的 IComparable 接口,在.Array 中搜索特定元素。    public static int BinarySearch(Array array, object value);     //实现的 IComparable<T>泛型接口,在 Array 中搜索特定元素。    public static int BinarySearch<T>(T[] array, T value);     //实现 IComparable 接口,在 Array 的某个范围中搜索值。    public static int BinarySearch(Array array, int index,        int length, object value);     //实现的 IComparable<T>泛型接口,在 Array 中搜索值。    public static int BinarySearch<T>(T[] array,        int index, int length, T value);    //Array 设置为零、 false 或 null,具体取决于元素类型。    //System.Array 的浅表副本。    public object Clone();    //从第一个元素开始复制 Array 中的一系列元素    //到另一 Array 中(从第一个元素开始)。    public static void Copy(Array sourceArray,        Array destinationArray, int length);    //将一维 Array 的所有元素复制到指定的一维 Array 中。    public void CopyTo(Array array, int index);    //创建使用从零开始的索引、具有指定 Type 和维长的多维 Array。    public static Array CreateInstance(Type elementType,        params int[] lengths);    //返回 ArrayIEnumerator。    public IEnumerator GetEnumerator();     //获取 Array 指定维中的元素数。    public int GetLength(int dimension);     //获取一维 Array 中指定位置的值。    public object GetValue(int index);     //返回整个一维 Array 中第一个匹配项的索引。    public static int IndexOf(Array array, object value);     //返回整个.Array 中第一个匹配项的索引。    public static int IndexOf<T>(T[] array, T value);     //返回整个一维 Array 中最后一个匹配项的索引。    public static int LastIndexOf(Array array, object value);     //反转整个一维 Array 中元素的顺序。    public static void Reverse(Array array);     //设置给一维 Array 中指定位置的元素。    public void SetValue(object value, int index);     //对整个一维 Array 中的元素进行排序。    public static void Sort(Array array);}
原创粉丝点击