2B Dizilere Giriş
Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 1 / 66.
C#'ta, düzensiz dizi (jagged array), bir diziler dizisidir ve bir ızgara veya matris benzeri bir yapı oluşturur. Her hücrenin bir değer tutabildiği, satır ve sütunları olan bir tablo gibidir. Düzensiz diziler, satranç tahtası, oturma planı veya ızgara tabanlı bir oyun gibi iki boyutlu bir ilişkiye sahip verileri temsil etmek için kullanışlıdır.
C#'ta düzensiz bir diziyi (jagged array) şu şekilde bildirebilir ve başlatabilirsiniz:
data_type[][] arrayName = new dataType[numberOfRows][];dataType: Dizinin içereceği öğelerin türü (ör. int, string vb.).
arrayName: Diziye verdiğiniz ad.
numberOfRows: Dizideki satır sayısı.
Daha sonra her satırın ayrı ayrı başlatılması gerekir:
arrayName[0] = new dataType[lengthOfFirstRow];
arrayName[1] = new dataType[lengthOfSecondRow];
// ve bu şekilde devam eder...Örneğin, her satırı 4 sütunlu olan 3 satırlı tamsayılardan oluşan bir düzensiz dizi (jagged array) oluşturmak için şöyle yazarsınız:
int[][] matrix = new int[3][];
matrix[0] = new int[4];
matrix[1] = new int[4];
matrix[2] = new int[4];Bir pürüzlü diziyi doğrudan değerlerle de başlatabilirsiniz:
int[][] matrix = new int[][] {
new int[] {1, 2, 3},
new int[] {4, 5, 6},
new int[] {7, 8, 9}
};Not: Bu platform, C# 12 öncesi bir derleyici kullanmaktadır. C# 12 ile tanıtılan daha kısa koleksiyon ifadesi sözdizimi (örneğin, int[][] matrix = [[1, 2], [3, 4]];) burada desteklenmemektedir. Lütfen yukarıda gösterilen geleneksel new int[][] { ... } başlatma sözdizimini kullanın.
Görev
KolayAşağıdaki değerlerle bir pürüzlü dizi (jagged array) başlatın:
5, 7, 10, 24, 41
86, 13, 683, 64, 13
42, 46, 791, 111, 9
86, 88, 1845, 5, 15897
9, 1, 5, 5, 6Göreviniz, pürüzlü diziyi bu tam değerlerle doğru bir şekilde başlatmak ve programın matrisi doğru bir şekilde yazdırmasını sağlamaktır.
Not: Bu platform C# 12 öncesi bir derleyici kullanmaktadır. C# 12 koleksiyon ifadesi sözdizimi (örneğin, int[][] matrix = [[1, 2], [3, 4]];) desteklenmemektedir. Bunun yerine geleneksel başlatma sözdizimini kullanın:int[][] matrix = new int[][] { new int[] {1, 2}, new int[] {3, 4} };
Kendin dene
using System;
class Program
{
static void Main(string[] args)
{
int[][] matrix = {
// Kodunuzu buraya yazın
};
// Matrisi yazdırın
int rows = matrix.Length;
for (int i = 0; i < rows; i++)
{
int cols = matrix[i].Length;
for (int j = 0; j < cols; j++)
{
Console.Write(matrix[i][j] + " ");
}
Console.WriteLine();
}
}
}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