Matematikteki “Matris” olayına C#’ta “Diziler” diyoruz. Sadece bir satır veya sadece bir sütundan oluşan matrise tek boyutlu dizi, satır ve sütunlardan oluşan matrislere çok boyutlu diziler diyoruz. Matris konusuna buradan göz atabilirsiniz.
Tek satırlı matris: A(1,n)=[0,1,2,3,4,5,6,7,……..,n]
sadece tek satırdan n tane sütundan oluşan ve n tane elemanı olan bir dizi.
VeriTipi[] DiziAdı = new VeriTipi[ElemanSayisi];
.
Satır ve Sütunlardan oluşan matris:
n tane sütun ve m tane satırdan oluşan ve m*n elemanlı çok boyutlu bir dizi.
VeriTipi[,] DiziAdı = new VeriTipi [SatırSayisi,SütunSayisi];
C#’ta diziler referans tipinde değişkenlerdendir. C#’ta tanımlanan tüm diziler System.Array sınıfından türemiş bir nesnedir.
5 adet sayiyi tutan bir dizi tanımlamak istersek;
int[] Sayilar = new int[5];
bu dizinin elemanları şu şekilde tanımlarız;
Sayilar[0]=23; // Sayilar isimli dizinin ilk elemanı Sayilar[1]=1256; // ikinci elamanı Sayilar[2]=12; // üçüncü elemanı Sayilar[3]=2300; // dördüncü elemanı Sayilar[4]=125; // beşinci elemanı
Görüldüğü gibi dizinin ilk elamanı 0′dan başlıyor.
Aynı diziyi şu şekilde de tanımlayabiliriz.
int[] Sayilar = {23, 1256, 12, 2300, 125};
şimdi de for döngüsü ile bir dizinin bütün elemanlarına ulaşıp toplama yapıp sonuca ulaşalım.
int[] Sayilar = {23, 1256, 12, 2300, 125}; int Toplam=0; for(int i=0; i < 5; i++) { Toplam += Sayilar[i]; }
for döngüsü her dönüşünde sırasıyla dizinin bütün elemanlarına ulaşıp Toplam değişkenine ekleyecek. Toplam değişkeninin en son değeri dizideki bütün elemanların toplamı olacak.
for döngüsünde koşul kısmında dizinin eleman sayısı olan 5 yerine Sayilar.Length de yazabiliriz. Sayilar.Length Sayilar dizisinin eleman sayısını verir.
int[] Sayilar = {23, 1256, 12, 2300, 125}; int Toplam=0; for(int i=0; i < Sayilar.Length; i++) { Toplam += Sayilar[i]; }
Length: Dizinin eleman sayısını verir.
int ElemanSayisi= Sayilar.Length;
Clear: Dizideki bütün elemanları temizler dizi int tipindeyse bütün elemanlar 0 değerini alır. eğer string dizisiyse bütün elemanlar boş “” değerini alır.
Array.Clear (Sayilar);
Reverse: Dizinin eleman sırasını tersine çevirir.
Array.Reverse(Sayilar);
Sort: Dizinin elemanlarını büyükten küçüğe sıraya dizer. eğer string dizisiyse harf sırasına göre dizer.
Array.Sort(Sayilar);
.
1 tane sayısal loto kuponunda 8 tane kolon vardır ve her kolonda 6 sayı mevcuttur. Bu kupondaki 8 kolonu da oynadığımızı düşünelim. Bu kolonları alt alta yazalım. Oluşan dizi 8 satırlı 6 sütunlu bir dizi olacaktır. Bu diziye 2 boyutlu dizi diyoruz.
int[,] SayisalLotoKuponu = new int [8, 6];
şimdi kuponlardaki sayıları belirleyelim;
//Birinci kolon SayisalLotoKuponu [0,0] = 7; SayisalLotoKuponu [0,1] = 8; SayisalLotoKuponu [0,2] = 15; SayisalLotoKuponu [0,3] = 21; SayisalLotoKuponu [0,4] = 27; SayisalLotoKuponu [0,5] = 36; SayisalLotoKuponu [2,4] = 27; // 3. kolonun 5. sayısı SayisalLotoKuponu [7,5] = 36; // 8. kolonun 6. sayısı
Dikkat edilecek nokta eleman sayıları 0’dan başladığı için istediğimiz satır ve sütuna ulaşabilmek için satır ve sütun sayısını 1 eksiltip yazıyoruz. Yani 4.kuponun 3. sayısına ulaşmak için
SayisalLotoKuponu [3,2];
yazıyoruz.
Şimdi de bu kupondan 3 adet olduğunu düşünelim. Yani hepsinin 8 kolonu oynanmış 3 adet kupon. Bu da 3 boyutlu dizi oluyor.
int[, ,] SayisalLotoKuponlari = new int [8, 6, 3];
Kuponlardaki sayıları yazarsak;
//Birinci Kupon Birinci kolon SayisalLotoKuponlari [0,0,0] = 7; SayisalLotoKuponlari [0,1,0] = 8; SayisalLotoKuponlari [0,2,0] = 15; SayisalLotoKuponlari [0,3,0] = 21; SayisalLotoKuponlari [0,4,0] = 27; SayisalLotoKuponlari [0,5,0] = 36; SayisalLotoKuponlari [2,4,1] = 27; // 2.Kuponun 3.kolonundaki 5.sayı SayisalLotoKuponlari [7,5,2] = 36; // 3.Kuponun 8.kolonundaki 6.sayı