C# Diziler (Arrays) Ve Dizi Metotları - Web Tasarım & Programlama

Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denir. Dizi içerisinde bulunan tüm elemanlara aynı isimle ulaşılır. Bir dizinin elemanlarına [ ] index operatörü ile ulaşılır.

dizi_1

Yukarıdaki şekilde “dizi” isimli 7 elemanlı bir dizi görülmektedir. Bu dizinin ilk elemanına dizi[0], son elemanına dizi[6] şeklinde erişilir.

Dizi Tanımlama

C# dilinde bütün diziler  System.Array sınıfından türetilir. Bir dizinin oluşturulması iki farklı şekilde yapılabilir. Birinci yöntem bildirim ve tanımlamanın aynı satırda yapılması;

string[] kisiler=new string[20]
123 string[]kisiler=newstring[20]

şeklindedir. Burada 20 elemanlı kisiler isminde string türünden bir dizi tanımlanmıştır. İkinci yöntem olarak diziyi aşağıdaki şekilde bildirim ve tanımlama ayrı satırda olacak şekilde oluşturmak istersek;

string[] kisiler; kisiler=new string[20];
1234 string[]kisiler;kisiler=newstring[20];

oluşturabiliriz. Bu 2 yöntem dışında dizi oluşturuluken içine değer girmek için şu yöntem kullanılabilir.

string[] kisiler={"Ahmet","Mehmet","Ayşe","Fatma","Canan"}
123 string[]kisiler={"Ahmet","Mehmet","Ayşe","Fatma","Canan"}

Burada da yine kisiler isminde bir dizi oluşturularak aynı satırda dizye değer girilmei sağlanmıştır.  Yukarıdaki dizide “Mehmet”isml elemana erişmek için;

string isim=kisiler[1];
123 stringisim=kisiler[1];

Son elemanına erişebilmek için;

string isim=kisiler[4];
123 stringisim=kisiler[4];

İlk elemanına erişmek için ise;

string isim=kisiler[0];
123 stringisim=kisiler[0];

Örnek1: 10 elemanlı isimler isminde bir dizi oluşturarak ekranda foreach döngüsü kullanarak yazdıralım.

static void Main(string[] args) { string[] kisiler = { "Ahmet", "Ali", "Veli", "Ayşe", "Fatma", "Canan", "Gül", "Burak", "Beyza", "Enes" }; foreach(string isim in kisiler) { Console.WriteLine(isim); } Console.ReadKey(); }
123456789101112 staticvoidMain(string[]args){string[]kisiler={"Ahmet","Ali","Veli","Ayşe","Fatma","Canan","Gül","Burak","Beyza","Enes"}; foreach(stringisim inkisiler){Console.WriteLine(isim);}Console.ReadKey();}

dizi_2

Örnek 2: 30 elmanlı diziye 0-100 arası rasgele sayı girişi yapan ve listbox‘ a yazdıran program.

private void button1_Click(object sender, EventArgs e) { Random rnd=new Random(); int[] sayilar = new int[30]; for(int i=0;i<30;i++) { sayilar[i] = rnd.Next(0, 100); listBox1.Items.Add(sayilar[i]); } }
123456789101112 privatevoidbutton1_Click(objectsender,EventArgse){Random rnd=newRandom();int[]sayilar=newint[30];for(inti=0;i<30;i++){sayilar[i]=rnd.Next(0,100);listBox1.Items.Add(sayilar[i]);}}

Ekran çıktısı:

dizi_3

Sort Metodu: Array metodunda bulunan Sort metodu kullanılarak dizi içerisinde sıralama yapılabilir.Yukarıdaki örnekte uygulamak istersek kodları aşağıdaki şekilde düzenleyebiliriz.

private void button1_Click(object sender, EventArgs e) { Random rnd=new Random(); int[] sayilar = new int[30]; for(int i=0;i<30;i++) { sayilar[i] = rnd.Next(0, 100); } Array.Sort(sayilar); foreach(int eleman in sayilar) { listBox1.Items.Add(eleman); } }
123456789101112131415161718 privatevoidbutton1_Click(objectsender,EventArgse){Random rnd=newRandom();int[]sayilar=newint[30];for(inti=0;i<30;i++){sayilar[i]=rnd.Next(0,100); }Array.Sort(sayilar); foreach(inteleman insayilar){listBox1.Items.Add(eleman);}}

Programı çalıştırdığımızda ekran çıktısı şöyle olacaktır.

dizi_4

Reverse Metodu: Reverse metodu Diziyi ter çevirmek için kullanılmaktadır. Reverse metodunu aşağıdaki örnekte olduğu gibi sort metodundan sonra kullanarak büyükten küçüğe sıralama yaptırabiliriz.

private void button1_Click(object sender, EventArgs e) { Random rnd=new Random(); int[] sayilar = new int[30]; for(int i=0;i<30;i++) { sayilar[i] = rnd.Next(0, 100); } Array.Sort(sayilar); Array.Reverse(sayilar); foreach(int eleman in sayilar) { listBox1.Items.Add(eleman); } }
12345678910111213141516171819 privatevoidbutton1_Click(objectsender,EventArgse){Random rnd=newRandom();int[]sayilar=newint[30];for(inti=0;i<30;i++){sayilar[i]=rnd.Next(0,100); }Array.Sort(sayilar);Array.Reverse(sayilar); foreach(inteleman insayilar){listBox1.Items.Add(eleman);}}

IndexOf Metodu : Dizi içinde istenen ifadeyi arar. Bulunduğunda index numarası getirilir, bulunmadığında -1 ifadesi geri döner.Kullanımı şu şekildedir.

int sira = Array.IndexOf (aranacak dizi, aranacak ifade);
123 intsira=Array.IndexOf(aranacak dizi,aranacak ifade);

Aşağıdaki örneğimizde dizi içerinde indexOf kullanılarak arama işlemi yapılmaktadır.

static void Main(string[] args) { string[] iller = new string[] { "İstanbul", "Bursa", "Konya", "Adana", "Edirne", "Tekirdağ", "Kırklareli", "Çorlu", "Çanakkale", "Sakarya" }; Console.Write("Aradığınız İli Girin:"); string aranan_il = Console.ReadLine(); int sira= Array.IndexOf (iller, aranan_il); if (sira==-1) Console.Write("İl bulunamadı"); else Console.Write("Aradığınız il {0}.sırada bulundu", sira+1); Console.ReadKey(); }
1234567891011121314 staticvoidMain(string[]args){string[]iller=newstring[]{"İstanbul","Bursa","Konya","Adana","Edirne","Tekirdağ","Kırklareli","Çorlu","Çanakkale","Sakarya"};Console.Write("Aradığınız İli Girin:");stringaranan_il=Console.ReadLine();intsira=Array.IndexOf(iller,aranan_il);if(sira==-1)Console.Write("İl bulunamadı");elseConsole.Write("Aradığınız il {0}.sırada bulundu",sira+1);Console.ReadKey();}

Programımızı çalıştırdığımızda ekran çıktısı aşağıdaki şekilde olacaktır.

dizi_5

LastIndexOf Metodu: Kullanımı IndexOf gibidir. Dizi içerisinde aramaya sondan başlar.

static void Main(string[] args) { string[] iller = new string[] { "İstanbul", "Bursa", "Konya", "Adana", "Edirne", "Tekirdağ", "Kırklareli", "Çorlu", "Çanakkale", "Sakarya" }; Console.Write("Aradığınız İli Girin:"); string aranan_il = Console.ReadLine(); int sira= Array.LastIndexOf (iller, aranan_il); if (sira==-1) Console.Write("İl bulunamadı"); else Console.Write("Aradığınız il {0}.sırada bulundu", sira+1); Console.ReadKey(); }
1234567891011121314 staticvoidMain(string[]args){string[]iller=newstring[]{"İstanbul","Bursa","Konya","Adana","Edirne","Tekirdağ","Kırklareli","Çorlu","Çanakkale","Sakarya"};Console.Write("Aradığınız İli Girin:");stringaranan_il=Console.ReadLine();intsira=Array.LastIndexOf(iller,aranan_il);if(sira==-1)Console.Write("İl bulunamadı");elseConsole.Write("Aradığınız il {0}.sırada bulundu",sira+1);Console.ReadKey();}

=======================================

Çok Boyutlu Diziler:  Genel olarak çok boyutlu diziler her bir elemanı bir dizi şeklinde olan dizilerdir.  Aşağıdaki çok boyutlu diziyi inceleyelim.

int[,] dizi = new int[3,3]; dizi[0, 0] = 5; dizi[0, 1] = 3; dizi[0, 2] = 4; dizi[1, 0] = 8; dizi[1, 1] = 15; dizi[1, 2] = 12; dizi[2, 0] = 6; dizi[2, 1] = 9; dizi[2, 2] = 10;
123456789101112 int[,]dizi=newint[3,3];dizi[0,0]=5;dizi[0,1]=3;dizi[0,2]=4;dizi[1,0]=8;dizi[1,1]=15;dizi[1,2]=12;dizi[2,0]=6;dizi[2,1]=9;dizi[2,2]=10;

Oluşturulan bu diziye indexlerine göre değer ataması yukarıdaki şekilde yapılabilir.

Bunu paylaş:

  • X
  • Facebook

Từ khóa » Html Dizi Oluşturma