Diziler dersimizde :
hakkında bilgi verdik.
Dizileri birden fazla değer alabilen değişkenler olarak düşünebilirsiniz. Diğer bir tanımı aynı türdeki verileri tek bir isim altında saklamamızı sağlayan değişkenlere dizi denir.
Diziler içlerinde birden fazla değeri tutabilme özelliğine sahiptir.
Dizi tanımlamak için ilk olarak dizinin tipini yani integer, string, double vs. tanımlamamız gerekmektedir. Daha sonra dizi ismi ve dizinin kaç elemanlı olacağı girilmektedir.
Dizi_tipi[] dizi_ismi=new dizi_tipi[eleman_sayısı];
10 elemanlı tamsayı rakamlar isimli bir dizi oluşturduk.
int[] rakamlar=new int[10];
10 elemanlı metinsel yani string bir dizinin nasıl oluşturulduğunu aşağıdaki kodlara bakarak öğrenebilirsiniz.
string[] isimler=new string[10];
C# programlama dilinde diziye değer atama işlemi 2 farklı yöntemle yapılmaktadır. Diziye eleman girdirmek için istediğiniz yöntemi kullanabilirsiniz.
Dizi_ismi[0]="…";
Dizi_ismi[1]="…";
Dizi_ismi[2]="…";
.
.
.
Dizi_ismi[n]="…";
Dizi_tipi[] dizi_ismi={"...","...","..."};
Bilgi: Dizilere değer atama işlemi 0 (sıfır) dan başlamaktadır.
Console.WriteLine(dizi_ismi[sirasi]);
Rakamlar isimli bir dizi oluşturalım ve bu dizi içerisine elemanları ekleyelim daha sonrada for döngüsüyle ekrana yazdırma işlemi yapalım.
int[] rakamlar=new int[10];
rakamlar[0]=0;
rakamlar[1]=1;
rakamlar[2]=2;
rakamlar[3]=3;
rakamlar[4]=4;
rakamlar[5]=5;
rakamlar[6]=6;
rakamlar[7]=7;
rakamlar[8]=8;
rakamlar[9]=9;
//veya
//int[] rakamlar={0,1,2,3,4,5,6,7,8,9}
//şeklinde diziye eleman girdirilebilir
for(int i=0; i<10; i++)
{
Console.WriteLine(rakamlar[i]);
}
Console.ReadLine();
Diziler içerisinde sıklıkla kullanılan hazır metotlar bulunmaktadır. Bu metotlardan en çok kullanılanları:
Dizinin içinde tutabileceği tüm eleman sayısını bulmak için kullanılır. String metinlerde de içerisinde kaç karakter olduğunu bulmak için kullanılmaktadır.
int[] sayilar=new int[5];
sayilar[0]=10;
sayilar[1]=1;
sayilar[2]=3;
sayilar[3]=35;
sayilar[4]=45;
int eleman_sayisi=sayilar.Length;
Console.WriteLine(eleman_sayisi);
Console.ReadLine();
Clear kelime anlamı temizle demektir. Dizideki elemanların içini temizlemek için kullanılır. Yani belirlenen indeks aralığındaki dizi elemanlarının içini temizlemek için kullanılmaktadır. Sayısal değişkenlerde içine 0 atarak, metinsel değişkenlerde ise içini boş bırakarak temizleme işlemi yapar.
Array.Clear(dizi_ismi, başlangıç_indeksi, kaç_adet_temizleneceği);
Aşağıdaki kod clear metodu ile 1 numaralı indeksten başlayarak 2 adet elemanın içini sıfırlama işlemi yapmaktadır. Yani dersler[1] ve dersler[2] dizilerin içini temizlemektedir.
string[] dersler=new string[5];
dersler[0]="Html";
dersler[1]="Azkod";
dersler[2]="Azkod.com";
dersler[3]="Css";
dersler[4]="JavaScript";
dersler[5]="Sql";
dersler[6]="C#";
dersler[7]="Arduino";
Array.Clear(dersler,1,2);
foreach(string yaz in dersler)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
Dizi içindeki elemanları tersine çevirmek için kullanılır.
Array.Reverse(dizi_ismi);
string[] sayilar={1,5,15,2,3,45,37,28);
Array.Reverse(sayilar);
foreach(string yaz in sayilar)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
Dizi içerisindeki elemanları küçükten büyüğe veya A'dan Z'ye sıralamak için kullanılan hazır metod'dur.
string[] x={10,20,30,50,40,70);
x.Sort();
foreach(string yaz in x)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
Dizi içerisinde eleman aramak için kullanılmaktadır. Dizinin içinde elemanı bulursa indeks değerini döndürür eğer bulamazsa -1 değeri döndürmektedir. IndexOf metodu küçük-büyük harfe duyarlıdır. Örneğin: AZKOD ile azkod farklıdır.
Array.IndexOf(dizi_ismi,aranan_değer);
Örnek:
string[] dersler={"Html","Css","JavaScript","C#","Php");
int sonuc=Array.IndexOf(dersler,"C#");
Console.WriteLine(sonuc);
Console.ReadLine();
Dinamik diziler alan sınırı olmayan diziler'dir. Bu dizilerde dizinin kaç elemanlı olacağı belirtilmemektedir.
Dinamik diziler ile ilgili dizi tanımlama ve dinamik diziler kullanılan özellikler ve hazır metotlardan :
Özellikler:
Hazır Metotlar:
ArrayList dizi_adi=new ArrayList();
Dinamik dizinin kapasitesini int türünde göstermek için kullanılan özelliktir.
int kapasite=dizi_adi.Capacity;
Dinamik dizinin eleman sayısını int türünde göstermek için kullanılan özelliktir.
int sayi=dizi_adi.Count;
Dinamik dizinin sonuna eleman eklemek için yani yeni eleman eklemek için kullanılan hazır metod'dur.
ArrayList dizi_ismi=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
dizi_ismi.Add("Azkod");
//String(metin) bir eleman ekledik
dizi_ismi.Add(37);
//İnteger(tam sayı) bir eleman ekledik
dizi_ismi.Add(false);
//boolean bir eleman ekledik
dizi_ismi.Add(37.7d);
//double bir eleman ekledik
dizi_ismi.Add(37.777f);
//float bir eleman ekledik
Dinamik dizide verilen indeksine (yani kaçıncı sıradaki diziye) eleman girdirmek için kullanılır. Örneğin : 5. indekse Azkod isimli değeri girdirmek istersek bu hazır metodu kullanılırız.
dizi_ismi.Insert(3,"Azkod");
//3 nolu indekse Azkod ekledik.
ArrayList sayilar=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
sayilar.Add(1);
sayilar.Add(7);
sayilar.Add(10);
sayilar.Add(3);
sayilar.Add(2);
// sayilar isimli dizimize eleman girdirdik.
sayilar.Insert(2,15);
//2 nolu indekse 15 sayısını girdirme işlemi yapıldı.
foreach(object yaz in sayilar)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
Dinamik dizinin içerisinde aranan eleman varsa silmek için kullanılan hazır metod'dur. Örneğin : Dizi içerisinde Azkod isimli eleman varsal silmek için bu metod kullanılır.
dizi_ismi.Remove("Azkod");
//Dizi içerisinde Azkod varsa kaldırma işlemi yapar.
ArrayList dersler=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
dersler.Add("Html");
dersler.Add("Css");
dersler.Add("Php");
dersler.Add("a");
dersler.Add("C#");
dersler.Add("JavaScript");
// dersler isimli dizimize eleman girdirdik.
dersler.Remove("a");
//a elelmanını sildik
foreach(object yaz in dersler)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
Dinamik dizide girilen indeksteki değeri silmek için kullanılan hazır metod'dur. Örneğin: Dizi içerisindeki 3 numaralı indeksi silmek için kullanabiliriz.
dizi_ismi.RemoveAt(indeks_no);
//örneğin 5 girilirse 5 nolu indeksteki elemanı siler
ArrayList harfler=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
harfler.Add("A");
harfler.Add("B");
harfler.Add("C");
harfler.Add("Ç");
harfler.Add("AZKOD");
harfler.Add("D");
// dersler isimli dizimize eleman girdirdik.
harfler.RemoveAt(4);
//4. indeksteki elemanı harf olmadığı için sildik.
foreach(object yaz in harfler)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
Dinamik dizi içerisindeki elemanları küçükten büyüğe veya A'dan Z'ye sıralamak için kullanılan hazır metod'dur.
dizi_ismi.Sort();
Örnek:
ArrayList dersler=new ArrayList();
// Diziye eleman girdirmek için dizimizi tanımladık
dersler.Add("Html");
dersler.Add("Css");
dersler.Add("Php");
dersler.Add("C#");
dersler.Add("JavaScript");
dersler.Add("Sql");
dersler.Add("Arduino");
dersler.Add("Bootstrap");
dersler.Add("Python");
// dersler isimli dizimize eleman girdirdik.
dersler.Sort();
//elemanları küçükten büyüğe sıraladık
foreach(object yaz in dersler)
{
Console.WriteLine(yaz);
}
Console.ReadLine();
Önceki Ders: C# Continue Komutu | Sonraki Ders: C# Metotlar |