2B Dizi Öğelerine Erişim
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 3 / 66.
2B dizideki öğelere erişmek normal dizilerdekiyle benzer bir söz dizimi kullanır, ancak iki dizin gerektirir: biri satır için, diğeri sütun için.
Not: C# dilinde çok boyutlu dizilerin iki türü vardır: dikdörtgen diziler (int[,]) ve düzensiz diziler (int[][]). Bu derste, her satırın kendi dizisi olduğu düzensiz diziler ele alınmaktadır.
3 satır ve 4 sütundan oluşan düzensiz bir 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 bir değer atayın (satır index'i 1, sütun index'i 2):
grid[1][2] = 42;Belirli bir konumdan bir değer okuyun (satır index 0, sütun index 3):
int value = grid[0][3];İndeksler 0’dan başladığı için satır index 0 1. satır, sütun index 3 ise 4. sütundur.
Dizi indekslerinin 0'dan başladığını unutma; bu nedenle geçerli indeks aralıkları şunlardır:
- Satırlar: 0'dan 2'ye kadar indeks (3 satırlı bir dizi için: 1. satırın indeksi 0, 2. satırınki 1, 3. satırınki 2'dir)
- Sütunlar: 0'dan 3'e kadar indeks (4 sütunlu bir dizi için: 1. sütunun indeksi 0, 2. sütununki 1 ve bu şekilde devam eder)
grid[3][2] gibi) erişmeye çalışırsanız IndexOutOfRangeException alırsınız.Görev
OrtagetElement adlı, üç bağımsız değişken alan bir yöntem yazın:
- 2B tamsayı dizisi (
int[][] matrix) - Satır indeksi (
int row) - Sütun indeksi (
int col)
Yöntem, indeksler geçerliyse belirtilen konumdaki öğeyi döndürmelidir. İndekslerden biri aralık dışındaysa, yöntem -1 döndürmelidir.
Kendin dene
public class GetElement
{
public static int getElement(int[][] array, int row, int col)
{
// Kodunuzu buraya yazın
}
}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
1Çok Boyutlu Diziler
2B Dizilere Giriş2B Tanımlama ve Başlatma2B Dizi Öğelerine Erişim2B Dizilerle İç İçe DöngülerDüzensiz DizilerYaygın Matris İşlemleriTekrar - Çok Boyutlu4Akış Denetimi Teknikleri
Erken DönüşlerKoruma KoşullarıAtlama İfadeleri (goto)Break ve Continueİç İçe Koşulları Düzleştirme7İleri Düzey Mantıksal Operatörler
Kısa Devre DeğerlendirmesiKoşullu Mantıksal OperatörlerOperatör ÖnceliğiÖzet - İleri Düzey Operatörler2İleri Düzey Karar Verme
Birden Çok KoşulKarmaşık Boolean MantığıIf ve Switch Karşılaştırmasıİç İçe Switch İfadeleriÖzet - İleri Düzey Kararlar5İstisna Yönetimi
Try-Catch Temelleriİstisna TürleriBirden Çok Catch BloğuDosyalarla ÇalışmaFinally BloğuUsing ve Try-Finally KarşılaştırmasıÖzel İstisnalarTekrar - Hata Yönetimi3Döngü İyileştirmeleri
Döngü PerformansıKarmaşık Yapılar Üzerinde İterasyonHer Döngü TürüDöngüleri Yeniden DüzenlemeÖzet - Optimize Edilmiş Döngüler6Null Yönetimi
Null Referanslarının TemelleriNullable Değer TürleriNull Kontrolü DesenleriSavunmacı ProgramlamaTekrar - Null GüvenliğiKendi başına pratik yap: Online C# derleyicisi