Menu
Coddy logo textTech

Accessing 2D Array Elements

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

2次元配列の要素にアクセスするには、通常の配列と同様の構文を使用しますが、行と列のそれぞれに1つずつの、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から始まることを覚えておいてください。有効なインデックス範囲は次のとおりです:

  • 行: index 0 to 2 (3行の配列の場合 — 1行目は index 0、2行目は index 1、3行目は index 2)
  • 列: index 0 to 3 (4列の配列の場合 — 1列目は index 0、2列目は index 1、以後同様)
これらの範囲外の要素にアクセスしようとすると(例: grid[3][2])、IndexOutOfRangeException が発生します。
challenge icon

チャレンジ

中級

getElement という名前のメソッドを書きなさい。このメソッドは 3 つの引数を取ります:

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

インデックスが有効な場合に指定された位置の要素を返します。どちらかのインデックスが範囲外の場合は -1 を返します。

チートシート

2次元配列の要素にアクセスするには、2つのインデックスを使用します: [row][column]

2次元配列を作成:

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

値を代入:

grid[1][2] = 42;

値を読み取り:

int value = grid[0][3];

配列のインデックスは 0 から始まります。有効な範囲外の要素にアクセスすると IndexOutOfRangeException がスローされます。

自分で試してみよう

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

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

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