Menu
Coddy logo textTech

Accessing 2D Array Elements

Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 3 / 66.

İki boyutlu bir dizideki öğelere erişim, normal dizilere benzer bir sözdizimi kullanır, ancak satır ve sütun için iki indeks gerektirir.

Not: C#'ta, çok boyutlu dizilerin iki türü vardır: dikdörtgen diziler (int[,]) ve kesikli diziler (int[][]). Bu ders, her satırın kendi dizisi olduğu kesikli dizileri kapsar.

3 satır ve 4 sütunlu bir kesikli dizi oluşturun:

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

Belirli bir konuma (satır indeksi 1, sütun indeksi 2) bir değer atayın:

grid[1][2] = 42;

Belirli bir konumdan (satır indeksi 0, sütun indeksi 3) bir değer oku:

int value = grid[0][3];

İndeksler 0'dan başladığı için, satır indeksi 0 1. satırdır ve sütun indeksi 3 4. sütundur.

Dizinin indekslerinin 0'dan başladığını unutmayın, bu nedenle geçerli indeks aralıkları şunlardır:

  • Satırlar: indeks 0 ile 2 arası (3 satırlı bir dizi için — 1. satır indeks 0, 2. satır indeks 1, 3. satır indeks 2)
  • Sütunlar: indeks 0 ile 3 arası (4 sütunlu bir dizi için — 1. sütun indeks 0, 2. sütun indeks 1, ve böyle devam eder)
Bu aralıkların dışında bir elemana erişmeye çalışırsanız (örneğin grid[3][2]), bir IndexOutOfRangeException alırsınız.
challenge icon

Görev

Orta

getElement adında üç argüman alan bir metot yazın:

  1. 2D tamsayı dizisi (int[][] matrix)
  2. Bir satır indeksi (int row)
  3. Bir sütun indeksi (int col)

Metot, indeksler geçerliyse belirtilen konumdaki elemanı döndürmelidir. Herhangi bir indeks aralık dışındaysa, metot -1 döndürmelidir.

Kopya kağıdı

2D dizideki öğelere iki indeks kullanarak erişin: [row][column]

2D dizi oluşturun:

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

Bir değer atayın:

grid[1][2] = 42;

Bir değer okuyun:

int value = grid[0][3];

Dizi indeksleri 0'dan başlar. Geçerli aralıkların dışındaki öğelere erişmek bir IndexOutOfRangeException fırlatır.

Kendin dene

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // Buraya kodunuzu yazın
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler