C# 多维数组

2025年8月1日 | 阅读11分钟

在 C# 编程语言中,多维数组也被称为矩形数组。它可以是二维的或三维的。数据以表格形式(行-列)存储,也称为矩阵。它是一组元素,通过多个索引访问这些元素。

Multidimensional Arrays in C#

语法

它具有以下语法。

在这个语法中,

  • data_type: 表示元素的类型。

C# 多维数组示例

让我们以一个说明性示例来定义 C# 中的多维数组。

示例

编译并运行

输出

2D Array Elements:
1 2 3 
4 5 6

说明

在此示例中,我们演示了 C# 中的多维数组。首先,我们创建二维数组,它有 2 行 3 列。之后,我们使用嵌套的 for 循环遍历矩阵的值。最后,我们使用 Console.WriteLine() 函数打印输出。

C# 中多维数组的大小

C# 编程中,数组的大小通过其包含的元素数量来计算。对于多维数组,数组的总大小是通过将行数和列数相乘来计算的。同样,如果我们想计算三维数组,数组的大小是其元素(长 x 宽 x 高)的乘积。

多维数组大小示例

让我们以一个说明性示例来确定 C# 中数组的大小。

示例

编译并运行

输出

Total no of bytes: 24 

说明

在此示例中,我们使用二维数组来确定 2D 数组的大小。首先,我们定义了具有 3 行 2 列的 2D 数组。之后,我们使用 Length 属性计算数组的长度,然后将数组的长度乘以数组的大小。最后,我们使用 Console.WriteLine() 函数打印输出。

C# 中的二维数组

在 C# 编程语言中,二维数组是矩形数组,用于以行和列的形式存储数据。它允许我们使用两个索引(行和列)来访问元素。

在 C# 中创建二维数组

如果要创建二维数组,可以使用以下语法在 C# 中创建二维数组。

语法

它具有以下语法。

在这个语法中,

  • data_type: 定义可以在二维数组中存储的元素的类型。
  • array_name: 表示数组的名称。
  • row: 表示行的数量。
  • Column: 表示列的数量。

二维数组声明

二维(2D)数组通过指定 数据类型,然后是方括号 [] 中带有两个逗号分隔索引的数组名称来声明。

语法

它具有以下语法。

在这个语法中,

  • int: 表示可以存储在数组中的值的类型。
  • my_arr: 声明数组的名称。

初始化二维数组

声明二维数组时,也可以对其进行初始化。通常有两种初始化方法。

  • 声明时初始化数组
  • 声明后赋值

a) 在声明时初始化二维数组

在 C# 中,我们可以在声明时在花括号内初始化二维数组。如果您已经知道数组应该包含的值,这非常有用。

例如

b) 声明后赋值二维值

在 C# 中,我们必须在为数组赋值之前,通过指定行和列索引来声明二维数组。

例如

遍历二维数组

在二维数组遍历中,我们可以访问数组中的所有元素,并打印数组中包含的所有元素。

C# 中遍历二维数组的示例

让我们以一个数组的说明性示例来展示如何访问和显示数组的元素。

示例

编译并运行

输出

1 2 3 
4 5 6  

说明

在此示例中,我们首先声明名为 arr 的二维数组,然后对其进行初始化。之后,我们使用嵌套的 for 循环来遍历行和列的元素。这里,i 代表行,j 代表 循环的列。最后,我们使用 Console.WriteLine() 函数打印输出。

更新二维数组

如果您想在 C# 中更新二维数组中的特定元素,可以使用其行和列索引。它允许我们直接访问数组中的目标位置并为其分配一个新值。

C# 中更新二维数组的示例

让我们以一个说明性示例来演示如何在 C# 中更新二维数组。

示例

编译并运行

输出

1 2 3 
4 5 9

说明

在此示例中,我们演示了如何更新二维数组中的元素。首先,我们声明并初始化名为 arr 的二维数组,它包含两行三列,然后我们将第 1 行第 2 列的元素更新为值 9。

之后,我们使用嵌套的 for 循环遍历数组。最后,我们使用 Console.WriteLine() 函数打印输出。

C# 中的三维数组

三维(3D)数组是多维数组的高级表示,它包含多个二维数组。它的工作方式与多个层或表的集合相同。它通过使用三个索引(如行、列和深度)来声明。

在 C# 中创建三维数组

三维数组的声明取决于三个索引。

语法

它具有以下语法。

在此示例中,

  • data_type: 定义可以在三维数组中存储的元素的类型。
  • array_name: 表示数组的名称。
  • row: 表示行的数量。
  • Column: 表示列的数量。
  • Depth: 表示层的数量。

例如

初始化三维数组

在 C# 中有几种初始化三维数组的方法。它们如下:

a) 在声明时初始化三维数组

在 C# 中,我们可以在声明时使用嵌套的花括号初始化三维数组。

例如

b) 声明后赋值三维值

在 C# 中,我们可以声明一个具有三个维度的三维数组,并可以在声明后使用索引表示法为数组赋值。

例如

遍历三维数组

在三维数组遍历中,我们可以使用三个嵌套循环访问数组中的所有元素,每个循环对应一个维度。

C# 中遍历三维数组的示例

让我们以一个示例来说明如何在 C# 中遍历三维数组。

示例

编译并运行

输出

1 2 3 
4 5 6 

7 8 9 
10 11 12  

说明

在此示例中,我们演示了如何在 C# 中遍历三维数组。首先,我们创建名为 arr 的三维数组,然后使用嵌套的花括号对其进行初始化。之后,我们使用嵌套的 for 循环遍历并打印每个元素。外层循环遍历层,中间循环遍历行,内层循环遍历三维数组的列。

更新 C# 中的三维数组

在 C# 编程语言中,我们可以更新或更改三维数组中特定元素的值。它需要三个索引,并需要三个循环来处理层,然后是行,最后是列。

更新三维数组的示例

让我们以一个示例来说明如何在 C# 中更新三维数组。

示例

编译并运行

输出

1 20 
3 4 

5 6 
70 8   

说明

在此示例中,我们声明并初始化了名为 array3D 的三维数组,它包含两个层,每个层包含一个 2x2 的矩阵。之后,我们使用嵌套的 for 循环遍历并打印每个迭代(层、行、列)的新更新值。外层循环(i)处理层,中间循环(j)处理行,内层循环(k)处理列。

在 C# 中传递多维数组

在 C# 编程语言中,我们可以通过声明方法来将多维数组(二维或三维)传递给方法。它允许方法访问、修改或遍历数组的元素。

语法

它具有以下语法。

在此示例中,必须指定列数,而行数可以省略。

C# 中传递二维数组的示例

让我们以一个例子来说明如何在 C# 中传递二维数组。

示例

编译并运行

输出

2D Array Elements:
1 2 3 
4 5 6

说明

在此示例中,我们演示了如何在 C# 中传递二维数组。首先,我们创建一个二维数组,然后用两行三列对其进行初始化。之后,我们使用嵌套的 for 循环遍历每个元素。最后,我们使用 Console.WriteLine() 函数打印输出。

结论

总而言之,C# 多维数组提供了一种组织和管理行、列和层数据的强大方式。它们在矩阵运算、图像处理和三维建模等数据自然地以多维度结构化的各种情况下非常有用。多维数组允许我们使用多个索引来访问元素,这提供了一种清晰有效的方式来在网格状格式中存储相关值。

C# 多维数组常见问题解答

1) C# 中的多维数组是什么?

在 C# 编程语言中,多维数组也被称为矩形数组。它可以是二维的或三维的。数据以表格形式(行-列)存储,也称为矩阵。它是一组元素,通过多个索引访问这些元素。

2) C# 中的多维数组有什么优缺点?

优点

  • 多维数组允许我们表示结构化数据,例如矩阵、网格和表格。
  • 元素易于访问。

缺点

  • 多维数组会消耗更多的内存空间。

3) 如何在 C# 中初始化多维数组?

在 C# 中,应使用以下语法声明多维数组。

4) C# 中的多维数组和交错数组有什么主要区别?

多维数组和交错数组的主要区别在于,多维数组是一个具有固定行和列的矩形矩阵。另一方面,交错数组是数组的数组,其中各行的长度可以不同。

5) 多维数组是引用类型吗?

是的,多维数组是引用类型。


下一个主题C# 交错数组