数组概述

数组是大部分编程语言中都支持的一种数据类型,无论是C语言、C++、C#还是Java,都支持数组的概念。

数组是具有相同数据类型的一组数据的集合。数组中的每一个变量称为数组的元素,数组能够容纳元素的数量称为数组的长度。数组中的每个元素都具有唯一的索引与其相对应,素组的索引从零开始。

数组是通过指定数组的元素类型、数组的秩(维数)及数组每个维度的上限和下限来定义的,即一个数组的定义需要包含以下几个元素。

  • 元素类型
  • 数组的维数。
  • 每个维数的上下限。

在程序设计中引入数组可以更有效地管理和处理数据。可根据数组的维数将数组分为一维数组、二维数组……

一维数组的创建和使用

一维数组实质上是一组相同类型数据的线性集合,当在程序中需要处理一组数据时,或者传递一组数据时,可以应用这种类型的数组。一维数组就好比一个大型的零件生产公司,而公司中的各个车间就相当于一维数组的各元素,这些车间既可以单独使用,也可以一起使用。

一维数组的创建

数组作为对象允许使用new关键字进行内存分配。在使用数组之前,必须首先定义数组变量所属的类型。一维数组的创建有两种形式。

1. 先声明,在用new运算符进行内容分配

声明一维数组使用以下格式:

数组元素类型[] 数组名字;

数组元素类型决定了数组的数据类型 。它可以是C#中任意的数据类型,包括简单类型和组合类型。数组名字为一个合法的标识符,符号“[ ]”指明该变量是一个数组类型变量。单个“[]”表示要创建的数组是一个一维数组。

例子:声明一维数组,示例代码如下。

int[] arr;                    // 声明int型数组,数组中的每个元素都是int型数值
string[] str;                // 声明string型数组,数组中的每个元素都是string型数值

声明数组后,还不能访问它的任何元素,因为声明数组只是给出了数组名字和元素的数据类型,要想真正使用数组,还要为它分配内存空间。在为数组分配内存空间时必须指明数组的长度。为数组分配内存空间的语法格式如下:

数组名字 = new 数组元素类型[数组元素的个数];
  • 数组名字:被连接到数组变量的名称。
  • 数组元素个数:指定数组中变量的个数,即数组的长度。

通过上面的语法可知,使用new关键字分配数组时,必须指定数组元素的类型和数组元素的个数,即数组的长度。

例子:为数组分配内存,示例代码如下。

arr = new int[5];

以上代码表示要创建一个有5个元素的整型数组,并且将创建的数组对象赋给引用变量arr,即引用变量arr引用这个数组。

使用new关键字为数组分配内存时,整型数组中各个元素的初始值都为0。

2. 声明的同时为数组分配内存

这种创建数组的方法时将数组的声明和内存 的分配合在一起执行。

语法如下:

数组元素类型[] 数组名 = new 数组元素类型[数组元素的个数];

例子:声明并为数组分配内存,示例代码如下。

int[] month = new int[12];

上面的代码创建数组month,并指定了数组长度为12.这种创建数组的方法也是C#程序编写过程中普遍的做法。

一维数组的初始化

数组可以与基本数据类型一样进行初始化操作。数组的初始化可分别初始化数组中的每个元素。数组的初始化有以下两种形式:

int[] arr = new int[]{1, 2, 3, 5, 25};
int[] arr = {34, 23, 12, 6};

从中可以看出,数组的初始化就是包括在大括号之内用逗号分开的表达式列表。用逗号(,)分割数组中的各个元素,系统自动为数组分配一定的空间。

数组的基本操作

C#中的数组是由System.Array类派生而来的引用对象,因此可以使用Array类中的方法对数组进行各种操作。

遍历数组

遍历数组就是获取数组中的每个元素,C#中,可以使用foreach语句实现数组的遍历功能。

添加/删除数组元素

  1. 添加数组元素

添加数组元素有两种情况:一是在数组中添加一个元素,二是在数组中添加一个数组。

  1. 删除数组元素

删除数组元素主要有两种情况,一是在不改变数组元素总数的情况下删除指定元素(也就是用删除元素后面的元素覆盖要删除的元素);二是删除指定元素后,根据删除元素的个数n。使删除后的数组长度减n。下面通过实例分别对这两种情况进行介绍。

对数组进行排序

C#中提供了用于对数组进行排序的方法Array.Sort和Array.Reverse,其中,Array.Sort方法用于对一维数组中的元素进行排序,Array.Reverse方法用于反转一维Array数组或部分Array数组中元素的排序。

数组的合并与拆分

数组的合并与拆分在很多情况下都会被应用。在对数组进行合并或拆分时,数组与数组之间的类型应一致。

  1. 数组的合并

数组的合并实际上就是将多个一维数组合并成一个一维数组,或者将多个一维数组合并成一个二维数组或多维数组。

  1. 数组的拆分

数组的拆分实际上就是将一个一维数组拆分成多个一维数组,或是将多维数组拆分成多个一维数组或多个多维数组。

最后修改:2021 年 11 月 08 日 11 : 11 AM
如果觉得我的文章对你有用,请随意赞赏