C# DİZİLER

C# Dilinde Dizi Örnekleri

C# diziler aynı tür verilerin bir araya gelerek oluşturdukları kümelerdir. Türkiye’ de ki şehirler bir dizidir.

Teknik özelliklerinden bahsetmek gerekirse;

  • Dizilerde ki her eleman DATA, her elemanın konumu ise İNDEX olarak adlandırılır.
  • Dizilerde sayma işlemleri 0’ dan başlar. Programlama dünyasının tamamında geçerlidir.
  • Diziler RAM bellekte tutulur. Dizi tanımlama işlemleri [] sembolü ile yapılır.
  • Dizi elemanlarını tanımlarken {} sembolü içinde yazarız.
  • Dizi tanımlamalarında ilgili dizinin mutlaka değişken türü bulunur.

Somut örneklere geçecek olursak ilk olarak;

String Dizi Örnekleri

Bir string dizisi oluşturduk ve içerisine 4 adet şehir girdik. Ve bunların hepsini ekrana yazdıran bir döngü ile ekrana yazdırdık. Sonuç ekran görüntüsü de aşağıdadır. Tabi bu işlemi kod’ da görüldüğü gibi foreach döngüsü içerisinde yaptık. Pekâlâ For döngüsü içerisinde de yapabilirdik. Diğer kısımda for ile yapılmış halini de görüntüleyelim. C# diziler konumuza hızla devam ediyoruz.

//String Türünde Ki Dizilere Örnek Olarak Birkaç Şehir Girdik 
//Ve Hepsini Ekrana Yazdırdık.

string[] sehirler = { "İstanbul", "Kastamonu", "Ankara", "İzmir" };
foreach (var item in sehirler)
{
   Console.WriteLine("Şehir" + " " + item);
}
   Console.Read();

Sonuç ise;

C# DİZİLER

Dizi içerisinde ki elemanların sıralarını ve kendilerini yazdıracağımız ufak bir kod örneği daha girelim.

//İlk Örneğimizde ki olayı şehirler dizisinde de yapabiliriz.

string[] sehirler = { "İstanbul", "İzmir", "Ankara", "Kastamonu", "Bursa", "Kütahya" };
for (int i = 0; i < sehirler.Length; i++)
{
    Console.WriteLine("Dizide Ki" + " " + i + "'inci Şehir :" + " " + sehirler[i]);
}
    Console.Read();

Çıktısı aşağıdaki gibi olacaktır.

C# DİZİLER

Dizilerde Karar Yapıları

Peki diziler içerisinde karar yapıları kullanırsak nasıl olur?

 int[] sayilar = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
 for (int i = 0; i < sayilar.Length; i++)
     {
        if (sayilar[i] % 2 == 0)
           {
             Console.WriteLine("Dizide ki Çift Sayılar : " + " " + sayilar[i]);
           }
//Tek sayıları da yazdırmak istersek bu bloğu aktif yapmamız yeterli olacaktır.
        //else
          //{
          // Console.WriteLine("Dizide ki Tek Sayılar : " + " " + sayilar[i]);
          //}
      }
      Console.Read();

Program çıktısı aşağıda ki gibi.

C# DİZİLER

Yukarıda ki kod bloğunda 10 elemanlı bir int dizisi oluşturduk. Ve bu elemanların tamamını for döngüsü içerisinde yazdırdık. Döngü içerisinde bir İF bloğu içerisinde sayının döngüde ki ilk elemanını 2 ye bölüp kalanı 0 mı diye kontrol ettik. Şartı sağlıyorsa dizinin o an ki değerini yazdırıyoruz.


Dizilerde toplama işlemi de yapmak pekâlâ mümkün. Bunun için 10 elemanlı bir dizi oluşturalım ve döngüye alıp içerisinde toplama işlemleri yapalım.

 int toplam = 0;
 int[] sayilar = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
       for (int i = 0; i < sayilar.Length; i++)
           {
              toplam += sayilar[i];
           }
              Console.WriteLine(toplam);
              Console.ReadLine();
C# DİZİLER
C# DİZİLER

Dizilerde Metotlar

Sort: Dizileri küçükten büyüğe sıralar.

Reverse: Diziyi tersten yazdırır. 1234 elemanlı bir diziyi 4321 gibi.

Index of: aranan değerin index sırasını döndürür. Yani 1234 dizisinde 3 sayısı kaçıncı sırada. 0’ dan başladığına göre 2. Sırada olacaktır.

Max: İlgili dizide ki en büyük değeri getirir.

Min: İlgili dizide ki en küçük değeri getirir.

Length: Dizinin boyutunu verir.

Hadi burada bu metotların nasıl kullanıldığını görelim.

Sort Metodu

     //Dizide ki elemanları sıralamak için kullanılan metotlar.
     int[] sayilar = { 10, 40, 30, 20, 100, 60, 70, 80, 90, 50 };
     Array.Sort(sayilar);
     for (int i = 0; i < sayilar.Length; i++)
         {
          Console.WriteLine(sayilar[i]);
         }
          Console.Read();

Program çıktısı ise aşağıdaki gibidir.

C# DİZİLER
C# DİZİLER

Yukarıda ki metot da yapılanları açıklamak gerekirse;

  • 10 elemanlı ve sıraları karışık bir dizi oluşturduk.
  • Array sınıfı C#’ da diziler ile ilgili aritmetik işlemleri yapmamızı sağlayan sınıftır ve dizimizin adını vererek bu diziyi sırala dedik Sort metodu ile.
  • Sonrasında bir döngü oluşturup bu döngü içerisinde sıralanan değerleri yazdırmış olduk.

Reverse Metodu

Reverse metodu dizi içerisinde ki elemanları tersten direk düz bir şekilde yazdırmamızı sağlar.

Burada dikkatinizi çekmek istediğim durum; Tersten sıralama yapmaz. Sort da ki gibi 1234 dizisini 4321 diyerek değil. Dizi içerisine biz nasıl yazdıysak sondan başa doğru düz bir şekilde yazdırır. Yani 1342 gibi yazdıysak onu 2431 şeklinde yazdıracaktır. Bu aritmetik işlemlerde geçerlidir yani.

Yine de sıralama yapmak istiyorsak eğer Array.Sort(sayilar); diyerek reverse üstüne yapabiliriz.

  //Dizide ki elemanları tersten direk yazdıran metodu kullandık SIRALAMA YAPMAZ.
  int[] sayilar = { 10, 40, 30, 20, 100, 60, 70, 80, 90, 50 };
  Array.Sort(sayilar);
  Array.Reverse(sayilar);
  for (int i = 0; i < sayilar.Length; i++)
  {
      Console.WriteLine(sayilar[i]);
  }
      Console.Read();

Çıktısı ise aşağıda ki gibi olacaktır.

C# DİZİLER
C# DİZİLER

Index Of Metodu

Bu metot ile dizi içerisinde ki elemanın kaçıncı sırada olduğunu öğrenebiliriz. Yani Büşra elemanı 1.sırada olacaktır. 0’ dan başladığı için tabi ki de. Bu kod parçacığının çıktısı 1 olacaktır. Aratacağımız isim Kürşat olsaydı bu değer 2 olacaktı. Bundan ötürü çıktıyı SS olarak vermiyorum.

   //Dizi içerisinde ki elemanların kaçıncı sırada olduğunu söyleyen metotdur.
   string[] ogrenciler = { "İbrahim", "Büşra", "Kürşat", "Almila" };
   int sira = Array.IndexOf(ogrenciler, "Büşra");
   Console.WriteLine(sira);
   Console.Read();

Min ve Max Metotları

Bir dizi içerisinde ki minimum ve maksimum değerleri bulmamızı sağlayan metotdur. Aşağıda ki kod parçacığı buna bir örnektir. Kullanımı ve çıktısı gayet basit olduğu için kodları paylaşıyorum. Deneyebilirsiniz.

//Dizide ki en büyük ve en küçük değerleri bulan metotlar aşağıdaki gibidir.
int[] sayilar = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
Console.WriteLine("Dizide ki En Küçük Sayı :" + " " + sayilar.Min());
Console.WriteLine("Dizide ki En Küçük Sayı :" + " " + sayilar.Max());
Console.Read();

Foreach Döngüsü

Dizile konusunu anlatıp içerisinde bir de foreach döngüsünü anlatmamak olmaz. Bunu inşallah ayrı bir blog yazısı eklinde paylaşacağım fakat burada ki kullanımını anlatmak isterim.

Foreach Döngüsü;

  • Dizilerle kullanılan döngü türüdür.
  • 4 parametre alır.
  • 1: Değişken Türü
  • 2: Değişken Adı
  • 3: in (içinden) komutu
  • 4: Dizi adı
//Foreacch Döngüsü
string[] sehirler = { "Kastamonu", "İstanbul", "Bursa", "İzmir" };
foreach (var item in sehirler)
{
 Console.WriteLine(item);
}
 Console.Read();

Kodun çıktısı ise

C# DİZİLER

Dizi içerisinde girilen sayıların toplamını veren bir program yazalım şimdi.

int toplam = 0;
  int[] sayilar = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 };
  foreach (var item in sayilar)
  {
     toplam += item;
  }
  Console.WriteLine("Toplam : " + " " + toplam);
  Console.Read();

Dilerseniz buradan Diziler ile ilgili yukarıda yaptığımız örneklerin kod halini (Visual Studio) indirebilirsiniz.

Yukarıda ki programın çıktısı ne olabilir sizce? Cevabınızı lütfen yorumlara yazarsanız beni çok mutlu etmiş olursunuz? Bir sonra ki blog yazımda görüşmek üzere…

İbrahim OKUYUCU

28 yaşında kod yazma aşığı bir yazılımcıyım. HTML , CSS, JS, .NET, MVC, gibi teknolojilerle ilgileniyor ve bu bildiklerimi blogumda zevkle paylaşıyorum.

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Göz Atın
Kapalı
Başa dön tuşu