Çok Boyutlu Diziler
Izgaralar ve düzensiz diziler.
Çok Boyutlu Diziler, CoddyKit'te ücretsiz bir C# Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, C# Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. C# Academy kursu toplamda 4 dersten oluşur.
Tek Bir row'un Ötesinde
Şimdiye kadar diziler, değerlerden oluşan tek bir satırdı. Çok boyutlu bir dizi, hesap tablosundaki satır ve sütunlar gibi değerleri bir ızgarada depolar.
Bunlar oyun tahtaları, tablolar ve matrisler için oldukça uygundur.
2B Dizi Tanımlama
İki boyutlu bir dizi, köşeli parantezlerin içinde virgül kullanır: [,]. İki boyut, yani row sayısı ve sütun sayısı verirsiniz.
Bu ızgarada 2 row ve 3 sütun vardır; dolayısıyla 6 değer tutar.
int[,] grid = new int[2, 3];
Console.WriteLine(grid[0, 0]); // 0Hücrelere Erişme
Bir hücreyi okumak veya yazmak için row ve sütun dizinlerini virgülle ayırarak birlikte verin.
Her iki dizin de tek boyutlu dizilerde olduğu gibi sıfır tabanlıdır.
int[,] grid = new int[2, 3];
grid[0, 1] = 7;
grid[1, 2] = 9;
Console.WriteLine(grid[1, 2]); // 9Bir Izgarayı Başlatma
Oluşturma sırasında iç içe süslü parantezler kullanarak 2B bir diziyi doldurabilirsiniz. Her iç grup bir row'dur.
Tüm row'ların aynı sayıda sütuna sahip olması gerekir.
int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid[1, 0]); // 4GetLength Metodu
İki boyut olduğunda Length toplam hücre sayısını verir. Tek bir boyutun boyutunu almak için GetLength kullanın.
GetLength(0) row sayısıdır, GetLength(1) ise sütun sayısıdır.
int[,] grid = { { 1, 2, 3 }, { 4, 5, 6 } };
Console.WriteLine(grid.Length); // 6
Console.WriteLine(grid.GetLength(0)); // 2
Console.WriteLine(grid.GetLength(1)); // 3Izgarada Döngü
Her hücreyi ziyaret etmek için row'lar üzerinde bir döngüyü, sütunlar üzerinde başka bir döngünün içine yerleştirin. Dış döngü bir row seçer, iç döngü ise o row'un sütunlarında gezinir.
Döngülerin gerçek boyutla eşleşmesi için GetLength kullanın.
int[,] grid = { { 1, 2 }, { 3, 4 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
for (int c = 0; c < grid.GetLength(1); c++)
{
Console.WriteLine(grid[r, c]);
}
}Eksiksiz Bir Izgara Programı
Bu eksiksiz program küçük bir ızgara oluşturur, ardından her değeri row ve sütunuyla birlikte yazdırır.
Dört hücrenin de listelendiğini görmek için programı çalıştırın.
int[,] grid = { { 10, 20 }, { 30, 40 } };
for (int r = 0; r < grid.GetLength(0); r++)
{
for (int c = 0; c < grid.GetLength(1); c++)
{
Console.WriteLine("[" + r + "," + c + "] = " + grid[r, c]);
}
}Üç Boyut
Daha fazla virgül kullanarak daha fazla boyut ekleyebilirsiniz. 3B bir dizi [,,] ve üç boyut kullanır.
Bunu ızgaralardan oluşan bir yığın olarak düşünebilirsiniz. Daha az yaygın olsalar da aynı kuralları izlerler.
int[,,] cube = new int[2, 2, 2];
cube[1, 1, 1] = 5;
Console.WriteLine(cube[1, 1, 1]); // 5Düzensiz Diziler
Düzensiz dizi, [][] biçiminde yazılan dizi dizisidir. Dikdörtgensel bir ızgaranın aksine her row farklı uzunlukta olabilir.
Diziye iki ayrı köşeli parantez çiftiyle erişirsiniz.
int[][] jagged = new int[2][];
jagged[0] = new int[] { 1, 2 };
jagged[1] = new int[] { 3, 4, 5 };
Console.WriteLine(jagged[1][2]); // 5Dikdörtgensel ve Düzensiz Dizilerin Karşılaştırması
Dikdörtgensel bir [,] dizi her zaman eşit uzunlukta row'lara sahiptir ve verileri kompakt biçimde depolar. Düzensiz bir [][] dizi ise farklı row uzunluklarına izin verir.
Gerçek tablolar için dikdörtgensel diziyi, row'ların boyutu doğal olarak değiştiğinde düzensiz diziyi seçin.
int[][] rows = { new[] { 1 }, new[] { 2, 3, 4 } };
Console.WriteLine(rows[0].Length); // 1
Console.WriteLine(rows[1].Length); // 3Bir Izgarayı Toplama
İç içe döngüler içinde her hücreyi toplayarak ızgaradaki tüm değerlerin toplamını bulabilirsiniz.
Bu yaklaşım her sayıda row ve sütuna uyarlanabilir.
int[,] grid = { { 1, 2 }, { 3, 4 } };
int total = 0;
foreach (int v in grid)
{
total += v;
}
Console.WriteLine(total); // 10Hızlı Denetim
Çok boyutlu diziler hakkındaki bilginizi sınayın.
Özet
[,] ile ızgaralar oluşturmayı, row ve sütun dizinleriyle hücrelere erişmeyi ve bunları GetLength ile ölçmeyi öğrendiniz.
İç içe döngüler her hücreyi ziyaret eder, ek virgüller boyut ekler ve düzensiz [][] diziler farklı uzunluklarda row'lara izin verir. Artık C# içinde veri tablolarını depolayabilir ve işleyebilirsiniz.
Yapay zeka eğitmeniyle C# öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 93
- Dersler
- 346
Sıkça Sorulan Sorular
“Çok Boyutlu Diziler” dersi ücretsiz mi?
Evet — “Çok Boyutlu Diziler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve C# Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. C# Academy kursu toplamda 4 dersten oluşur.
“Çok Boyutlu Diziler” dersinde ne öğreneceğim?
Izgaralar ve düzensiz diziler. C# Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
C# Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te C# Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Çok Boyutlu Diziler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu C# Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her C# Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dizi Tanımlama
- Dizinleme ve Uzunluk
- Diziler Üzerinde Döngü Kurma
- Çok Boyutlu Diziler