C# 多维数组
C#多维数组
在本教程中,我们将以二维数组为例来学习C#中的多维数组。
在了解多维数组之前,请务必了解C#中的一维数组。
在多维数组中,数组的每个元素也是一个数组。例如,
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
这里,x 是一个多维数组,有两个元素:{1, 2, 3} 和 {3、4、5} .并且,数组的每个元素也是一个数组,3 元素。
C#中的二维数组
二维数组由作为其元素的一维数组组成。它可以表示为具有特定行数和列数的表格。
<图>这里,行 {1, 2, 3} 和 {3、4、5} 是二维数组的元素。
1。二维数组声明
下面是我们在 C# 中声明二维数组的方法。
int[ , ] x = new int [2, 3];
这里,x 是具有 2 的二维数组 元素。而且,每个元素也是一个数组,3 元素。
所以,所有的数组可以存储 6 元素(2 * 3 )。
注意:单逗号 [ , ] 表示数组是二维的。
2。二维数组初始化
在 C# 中,我们可以在声明期间初始化一个数组。例如,
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
这里,x 是一个包含两个元素 {1, 2, 3}
的二维数组 和 {3, 4, 5}
.我们可以看到数组的每个元素也是一个数组。
我们还可以在初始化时指定行数和列数。例如,
int [ , ] x = new int[2, 3]{ {1, 2, 3}, {3, 4, 5} };
3。从二维数组访问元素
我们使用索引号来访问二维数组的元素。例如,
// a 2D array
int[ , ] x = { { 1, 2 ,3}, { 3, 4, 5 } };
// access first element from first row
x[0, 0]; // returns 1
// access third element from second row
x[1, 2]; // returns 5
// access third element from first row
x[0, 2]; // returns 3
<图> 示例:C# 2D 数组
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
//initializing 2D array
int[ , ] numbers = {{2, 3}, {4, 5}};
// access first element from the first row
Console.WriteLine("Element at index [0, 0] : "+numbers[0, 0]);
// access first element from second row
Console.WriteLine("Element at index [1, 0] : "+numbers[1, 0]);
}
}
}
输出
Element at index [0, 0] : 2 Element at index [1, 0] : 4
在上面的例子中,我们创建了一个名为 numbers 的二维数组 行 {2, 3} 和 {4, 5} .
在这里,我们使用索引号来访问二维数组的元素。
numbers[0, 0]
- 从第一行访问第一个元素 (2 )numbers[1, 0]
- 从第二行访问第一个元素 (4 )
更改数组元素
我们还可以更改二维数组的元素。要更改元素,我们只需为该特定索引分配一个新值。例如,
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ , ] numbers = {{2, 3}, {4, 5}};
// old element
Console.WriteLine("Old element at index [0, 0] : "+numbers[0, 0]);
// assigning new value
numbers[0, 0] = 222;
// new element
Console.WriteLine("New element at index [0, 0] : "+numbers[0, 0]);
}
}
}
输出
Old element at index [0, 0] : 2 New element at index [0, 0] : 222
在上面的例子中,索引 [0, 0] 处的初始值 是 2 .注意这一行,
// assigning new value
numbers[0, 0] = 222;
在这里,我们分配了一个新值 222 在索引 [0, 0] .现在,索引 [0, 0] 处的值 从 2 改变 到 222 .
使用循环迭代 C# 数组
using System;
namespace MultiDArray {
class Program {
static void Main(string[] args) {
int[ , ] numbers = { {2, 3, 9}, {4, 5, 9} };
for(int i = 0; i < numbers.GetLength(0); i++) {
Console.Write("Row "+ i+": ");
for(int j = 0; j < numbers.GetLength(1); j++) {
Console.Write(numbers[i, j]+" ");
}
Console.WriteLine();
}
}
}
}
输出
Row 0: 2 3 9 Row 1: 4 5 9
在上面的示例中,我们使用了嵌套的 for 循环来遍历 2D 数组的元素。在这里,
numbers.GetLength(0)
- 给出二维数组中的行数numbers.GetLength(1)
- 给出行中元素的数量
注意 :我们也可以创建一个 3D 数组。从技术上讲,3D 数组是具有多个二维数组作为其元素的数组。例如,
int[ , , ] numbers = { { { 1, 3, 5 }, { 2, 4, 6 } },
{ { 2, 4, 9 }, { 5, 7, 11 } } };
这里,[ , , ]
(2个逗号)表示3D数组。
C语言