Menu
Coddy logo textTech

Accessing 2D Array Elements

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 3/66。

2次元配列の要素へのアクセスは、通常の配列と同様の構文を使用しますが、行用と列用の2つのインデックスが必要です。

注意: C#には、2種類の多次元配列があります。矩形配列 (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 という名前のメソッドを作成してください。このメソッドは3つの引数を受け取ります:

  1. 2次元整数配列 (int[][] matrix)
  2. 行のインデックス (int row)
  3. 列のインデックス (int col)

インデックスが有効な場合、メソッドは指定された位置にある要素を返す必要があります。いずれかのインデックスが範囲外の場合は、メソッドは -1 を返す必要があります。

自分で試してみよう

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // ここにコードを書いてください
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン