什么是数组?

  1. 可以将同一类型的多个变量存储在一个数组数据结构中通过指定数组的元素类型来声明数组。 如果希望数组存储任意类型的元素,可将其类型指定为
  2. object。 在 C# 的统一类型系统中,所有类型(预定义类型、用户定义类型、引用类型和值类型)都是直接或间接从 Object 继承的。
  1. 数组具有以下属性:
  • 数组可以是一维、多维或交错的。
  • 声明数组变量时设置维度数。 创建数组实例时,将建立每个维度的长度。 这些值在实例的生存期内无法更改。
  • 交错数组是数组数组,每个成员数组的默认值为null。
  • 数组从零开始编制索引:包含 n 元素的数组从 0 索引到 n-1。
  • 数组元素可以是任何类型,其中包括数组类型。
  • 数组类型是从抽象的基类型 Array 派生的引用类型。 所有数组都会实现IList和IEnumerable。 可以使用 foreach 语句循环访问数组。 单维数组还实现了 IList 和 IEnumerable

声明数组

  1. 定义有个数组其实很简单:
  • datatype:指数组的数据类型。
  • [] :指定数组的秩(维度)。秩指定数组的大小。
  • arrayName:指定数组的名称
1
datatype[] arrayName;

初始化数组

  1. 当声明有个数组后,这个数组是不含任何值的,赋值,所以我们需要将数组初始化,来使得数组能够被赋值。
  1. 数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。

例如:

  1. 其中 [ 5 ]:表示将这个数组初始化为5大小,也就是说数组内有5个元素(也可以被作为索引)。
  2. 当然,**[ ]** 内也可以不填,如果填写了,那么在没赋值前,值全都为零。
    1
    2
    int[] arrayInt;    // 声明一个整数数组
    arrayInt = new int[5]; // 初始化数组

数组赋值

声明一个数组不会在内存中初始化数组。当初始化数组变量时,您可以赋值给数组。

数组是一个引用类型,所以您需要使用 new 关键字来创建数组的实例。

  1. 方式一:利用索引进行单个赋值(被称之为:显式初始化

    1
    2
    int[] arrayInt;    // 声明一个整数数组
    arrayInt[0] = 5; //将索引0赋值为5

    // 输出效果

    1
    2
    3
    4
    5
    >>>5
    >>>0
    >>>0
    >>>0
    >>>0
  2. 方式二:在声明数组的同时给数组赋值(无法指定数组的大小)(也被称之为:隐式初始化

    1
    int[] arrayInt = {1, 5, 5, 3, 8};

    // 输出效果

    1
    2
    3
    4
    5
    6
    // 输出效果
    >>>1
    >>>5
    >>>5
    >>>3
    >>>8
  3. 方式三:创建并初始化一个数组,可指定数组大小。

1
int[] arrayInt = new int[]  {4, 5, 2, 7, 9};

// 输出效果

1
2
3
4
5
>>>4
>>>5
>>>2
>>>7
>>>9
  1. 方式四:作为变量赋值给其他数组,(相当于int a=2;b= )
1
2
int[] arrayInt = new int[]  {4, 5, 2, 7, 9};
int[] arrayInt_2 = arrayInt;

// 输出效果

1
2
3
4
5
>>>4
>>>5
>>>2
>>>7
>>>9

补充

1
int[] arrayInt = new int[] {1, 3, 5, 6, 6]
  1. 注意:前面的中括号[ ]表示是声明数组后面的中括号[ ]才表示是指定数组大小
  2. 当指定了数组的大小后,在赋值时不允许超过指定的大小