Menu
Coddy logo textTech

Dostęp do elementów tablic 2D

Część sekcji Logika i sterowanie przepływem ścieżki C# w Coddy. Lekcja 3 z 66.

Dostęp do elementów tablicy 2D odbywa się za pomocą składni podobnej do tej stosowanej w zwykłych tablicach, ale wymaga dwóch indeksów: jednego dla wiersza i jednego dla kolumny.

Uwaga: W C# istnieją dwa rodzaje tablic wielowymiarowych: tablice prostokątne (int[,]) i tablice postrzępione (int[][]). Ta lekcja dotyczy tablic postrzępionych, w których każdy wiersz jest osobną tablicą.

Utwórz tablicę postrzępioną z 3 wierszami i 4 kolumnami:

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

Przypisz wartość do określonej pozycji (indeks wiersza 1, indeks kolumny 2):

grid[1][2] = 42;

Odczytaj wartość z określonej pozycji (indeks wiersza 0, indeks kolumny 3):

int value = grid[0][3];

Ponieważ indeksy zaczynają się od 0, indeks wiersza 0 oznacza 1. wiersz, a indeks kolumny 3 oznacza 4. kolumnę.

Pamiętaj, że indeksy tablicy zaczynają się od 0, więc prawidłowe zakresy indeksów to:

  • Wiersze: indeksy od 0 do 2 (dla tablicy z 3 wierszami: 1. wiersz ma indeks 0, 2. wiersz ma indeks 1, 3. wiersz ma indeks 2)
  • Kolumny: indeksy od 0 do 3 (dla tablicy z 4 kolumnami: 1. kolumna ma indeks 0, 2. kolumna ma indeks 1 itd.)
Jeśli spróbujesz uzyskać dostęp do elementu spoza tych zakresów (na przykład grid[3][2]), wystąpi wyjątek IndexOutOfRangeException.
challenge icon

Wyzwanie

Średni

Napisz metodę o nazwie getElement, która przyjmuje trzy argumenty:

  1. Dwuwymiarowa tablica liczb całkowitych (int[][] matrix)
  2. Indeks wiersza (int row)
  3. Indeks kolumny (int col)

Metoda powinna zwrócić element znajdujący się na określonej pozycji, jeśli indeksy są prawidłowe. Jeśli którykolwiek indeks wykracza poza zakres, metoda powinna zwrócić -1.

Spróbuj swoich sił

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // Wpisz tutaj swój kod
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i sterowanie przepływem

Poćwicz samodzielnie: Kompilator C# online