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.

2D bir dizideki öğelere erişmek, normal dizilere benzer bir sözdizimi kullanır, ancak iki dizin gerektirir: biri satır için ve biri sütun için.

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

3 satır ve 4 sütunlu bir düzensiz dizi (jagged array) 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 bir değer atayın (satır dizini 1, sütun dizini 2):

grid[1][2] = 42;

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

int value = grid[0][3];

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

Dizi dizinlerinin 0'dan başladığını unutmayın, bu nedenle geçerli dizin aralıkları şunlardır:

  • Satırlar: dizin 0'dan 2'ye kadar (3 satırlı bir dizi için — 1. satır dizin 0, 2. satır dizin 1, 3. satır dizin 2'dir)
  • Sütunlar: dizin 0'dan 3'e kadar (4 sütunlu bir dizi için — 1. sütun dizin 0, 2. sütun dizin 1'dir ve bu şekilde devam eder)
Eğer bu aralıkların dışındaki bir öğeye erişmeye çalışırsanız (grid[3][2] gibi), bir IndexOutOfRangeException hatası alırsınız.
challenge icon

Görev

Orta

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

  1. 2 boyutlu bir tam sayı dizisi (int[][] matrix)
  2. Bir satır indeksi (int row)
  3. Bir sütun indeksi (int col)

İndeksler geçerliyse metot, belirtilen konumdaki öğeyi döndürmelidir. Eğer indekslerden biri aralık dışındaysa, metot -1 döndürmelidir.

Kendin dene

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // Kodunuzu buraya 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