C# karışık boyutlu jagged diziler

c-sharp
Jagged dizi, her satırı farklı uzunlukta olan dizi türüdür.
Bu düzensiz diziler genel olarak satır uzunluklarının belli olmadığı durumlarda kullanılır.
<Dizi Türü>[][] <dizi Adı> = new <Dizi Türü>[<Büyüklük>][];
Örneğin büyüklüğü yani satır sayısı 3 olan fakat satır uzunluğu belli olmayan bir dizi aşağıdaki gibi tanımlanır.
string[][] Kayitlar = new string[3][];
Şimdi bu dizinin elemanlarına değerler tanımlayıp onlara erişelim.
Jagged dizilerin elemanlarına erişmenin en iyi yolu foreach döngüsünü kullanmaktır.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            string[][] Kayitlar;
            Kayitlar = new string[3][];
            
            Kayitlar[0] = new string[4];
            Kayitlar[1] = new string[2];
            Kayitlar[2] = new string[3];

            Kayitlar[0][0] = "Veli";
            Kayitlar[0][1] = "Kerim";
            Kayitlar[0][2] = "Berna";

            Kayitlar[1][0] = "Berk";
            Kayitlar[1][1] = "Cemil";

            Kayitlar[2][0] = "Ayşe";
            Kayitlar[2][1] = "Ali";
            Kayitlar[2][2] = "Ayhan";

            foreach (string[] Satir in Kayitlar)
            {
                foreach (string Sutun in Satir)
                {
                    Console.WriteLine(Sutun);
                } // foreach
                Console.WriteLine();
            } // foreach

            Console.ReadKey();
        }
    }
} 
jagged
Sonuc ekranı solda göründüğü gibidir.

Dizi alternatif olarak aşşağıdaki şekildeki gibi de tanımlanabilir.
string[][] Kayitlar = {
                new string[]{"veli", "kerim", "berna"},
                new string[]{"berk", "cemil"},
                new string[]{"ayşe", "ali", "ayhan"}
            }; 
veya
string[] Kayit1 = {"veli", "kerim", "berna" };
            string[] Kayit2 = {"berk", "cemil" };
            string[] Kayit3 = {"ayşe", "ali", "ayhan" };

            string[][] Kayitlar = { Kayit1, Kayit2, Kayit3};

Hiç yorum yok:

Yorum Gönder