Menu
CoddyTech

访问二维数组元素

本课属于 Coddy C# 学习旅程的“逻辑与流程”单元。第 3 课,共 66 课。

访问二维数组中的元素,语法与普通数组类似,但需要两个索引:一个用于行,一个用于列。

注意:在 C# 中,多维数组有两种:矩形数组(int[,])和交错数组(int[][])。本课介绍交错数组,其中每一行都是一个独立的数组。

创建一个包含 3 行、4 列的交错数组:

int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];

给特定位置(行索引 1,列索引 2)赋一个值:

grid[1][2] = 42;

从指定位置读取一个值(行索引 0,列索引 3):

int value = grid[0][3];

由于索引从 0 开始,行索引 0 是第 1 行,列索引 3 是第 4 列。

请记住,数组索引从 0 开始,因此有效的索引范围是:

  • 行:索引从 0 到 2(对于有 3 行的数组:第 1 行的索引是 0,第 2 行是 1,第 3 行是 2)
  • 列:索引从 0 到 3(对于有 4 列的数组:第 1 列的索引是 0,第 2 列是 1,依此类推)
如果你尝试访问这些范围之外的元素(例如 grid[3][2]),就会收到 IndexOutOfRangeException。
challenge icon

挑战

中等

编写一个名为 getElement 的方法,它接受三个参数:

  1. 一个二维整数数组(int[][] matrix)
  2. 一个行索引(int row)
  3. 一个列索引(int col)

如果索引有效,该方法应返回指定位置的元素。如果任一索引超出范围,该方法应返回 -1。

亲手试试

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // 在这里编写你的代码
    }
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: C# 在线编译器