C#数组赋值

发布时间:2023-05-19

一、数组的定义和初始化

C#中,数组是一种存储同类型元素的容器,可以通过下标访问数组元素。要创建一个数组,首先需要定义数组类型,然后通过new关键字来分配存储空间。以下是一个长度为5的int型数组的定义示例:

int[] array = new int[5];

以上代码将创建一个长度为5的int类型数组,然后可以通过数组下标来访问数组元素,如下所示:

array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;

也可以在定义时直接初始化数组,如下所示:

int[] array = new int[] { 1, 2, 3, 4, 5 };

以上代码创建了一个长度为5的int类型数组,并将数组元素初始化为1-5。

二、数组的赋值和复制

C#中,数组可以通过直接给数组元素赋值的方式进行赋值,如下所示:

int[] array = new int[5];
array[0] = 1;
array[1] = 2;
array[2] = 3;
array[3] = 4;
array[4] = 5;

数组还可以通过数组初始化器来进行赋值,如下所示:

int[] array = new int[] { 1, 2, 3, 4, 5 };

此外,在C#中,数组可以通过Array.Copy方法来进行复制,如下所示:

int[] array1 = new int[] { 1, 2, 3, 4, 5 };
int[] array2 = new int[5];
Array.Copy(array1, array2, 5);

以上代码将array1数组复制到array2数组,两个数组中的元素完全相同。

三、多维数组的赋值和复制

C#中,除了一维数组外,还可以定义多维数组。多维数组的定义方式为在类型后面加上方括号,方括号的数量表示数组的维度。以下是一个二维int数组的定义示例:

int[,] array = new int[3, 3];

以上代码创建了一个3x3的二维int数组。可以通过下标来访问数组元素,如下所示:

array[0, 0] = 1;
array[0, 1] = 2;
array[0, 2] = 3;
array[1, 0] = 4;
array[1, 1] = 5;
array[1, 2] = 6;
array[2, 0] = 7;
array[2, 1] = 8;
array[2, 2] = 9;

也可以在定义时初始化多维数组,如下所示:

int[,] array = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

以上代码创建了一个3x3的二维int数组,并将数组元素初始化为1-9。 当需要对多维数组进行复制时,可以使用Array.Copy方法,如下所示:

int[,] array1 = new int[,] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int[,] array2 = new int[3, 3];
Array.Copy(array1, array2, 9);

以上代码将array1数组复制到array2数组,两个数组中的元素完全相同。

四、Jagged数组的赋值和复制

Jagged数组也称不规则数组,即不同维度的数组元素个数可以不同。Jagged数组的定义方式为定义一个数组,其中每个元素又是一个数组。以下是一个Jagged数组的定义示例:

int[][] array = new int[3][];
array[0] = new int[] { 1 };
array[1] = new int[] { 2, 3 };
array[2] = new int[] { 4, 5, 6 };

以上代码定义了一个长度为3的Jagged数组。Jagged数组中的每个元素也是一个数组,它们的元素个数可以不同。可以使用下标来访问Jagged数组中的元素,如下所示:

int[][] array = new int[3][];
array[0] = new int[] { 1 };
array[1] = new int[] { 2, 3 };
array[2] = new int[] { 4, 5, 6 };
int element = array[1][0]; // element = 2

同样地,Jagged数组也可以通过数组初始化器来进行赋值,如下所示:

int[][] array = new int[][] { new int[] { 1 }, new int[] { 2, 3 }, new int[] { 4, 5, 6 } };

当需要对Jagged数组进行复制时,可以使用Array.Copy方法,如下所示:

int[][] array1 = new int[][] { new int[] { 1 }, new int[] { 2, 3 }, new int[] { 4, 5, 6 } };
int[][] array2 = new int[3][];
Array.Copy(array1, array2, 3);

以上代码将array1数组复制到array2数组,两个数组中的元素完全相同。