C# 中的数组类

数组是 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);
}
  • 1
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:博客之星2021 设计师:Hiro_C 返回首页
评论

打赏作者

陈言必行

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值