NTP C# Dersi 11: Dizi (Array) Değişken Metotları

Merhaba arkadaşlar bu dersimizde de dizi değişkenleri incelemeye devam edeceğiz. C dili çok gelişmiş bir programlama dilidir. C Sharp(C#) dili de bir o kadar gelişmiştir. Yani çok geniş bir hazır kod kütüphanesine sahiptir.

Dizi değişkenler için geliştirilmiş olan Array class(sınıf)ı da bu geniş kütüphanelerin barındırdığı sınıflardan sadece biri…

Class Array(Dizi)

Array soyut(abstract) bir sınıf(class)tır. Bu, tanımladığımız dizi değişkenlerin türünün hem int, string vs. gibi komut niteliğindeki nesnelere(class, struct vs.) hem de Array sınıfı nesnesine dayandığı anlamına gelir. Abstract static gibi bir yapı(class, struct, ve metotlar; struct tr:yapı anlamına gelir karıştırılmamalı) tanımlama komutudur. Abstract komutunu sonraki derslerimizde öğreneceğiz ama öncelikle Array sınıfını bir inceleyelim. MS Visual Studio kullanıyorsanız. Array kodunun üzerine gelip F12’yi tuşlarsanız, Array sınıfının metotlarını görebilirsiniz.

Array sınıfı dizi değişkenler ile işlemler yapabilmemiz için geliştirilmiş metotlar barındırır. Gelin şu metotların birkaçını inceleyelim.

Array Length Metodu

Length dizi değişkenin eleman sayısını döndüren dinamik bir metot, yani parametresiz bir metottur. Bu yüzden metodu çağırma işini dizi değişkeni baz alarak yapıyoruz. Kısacası

Çağırma şekli:
Array.Length(); değil

diziDegiskenAdi.Length;
şeklinde oluyor.

 

// [-M] : Bir dizi değişkenin eleman sayısını veren program.
using System;
namespace yG_CS_Proje
{
    class Program
    {
        static void Main()
        {
            string[] katar = new string[5] { "tavşan", "tırtıl", "kunduz", "fare", "at" }; // [01]
            Console.WriteLine(katar.Length); // [02]
            Console.ReadKey(); // [03]
        }
    }
}
// [01]: “katar” adını verdiğimiz 5 elemanlı string(dizge) bir dizi değişken tanımladık ve elemanlarına string verileri yükledik.
// [02]: Array sınıfının Length metodunu kullanarak “katar” dizisinin elemanlar sayısını ekrana yazdırdık.
// [03]: Konsol penceresinin hemen kaybolmasını engelledik.
 
Array Clear Metodu 

Bir dizi değişkenin belirtilen kısmını silen static, 3 parametreli bir Array sınıfı metodudur. Silme işlemi elemanları yok etmez sadece elemanların tuttuğu verileri temizler.

Parametreler:

1)  Değişiklik yapılacak dizi değişken atanır.
2)  Silmeye başlanacak elemanın index numarası atanır.
3)  Silinecek veri sayısı, yani etkilenecek eleman sayısı atanır.

Çağırma şekli:
Array.Clear(dizi,index,adet);

 

// [-N] : Bir dizi değişkenin elemanlarının tuttuğu verileri silen program.
using System;
namespace yG_CS_Proje
{
    class Program
    {
        static void Main()
        {
            string[] katar = new string[5] { "tavşan", "tırtıl", "kunduz", "fare", "at" }; // [01]
            Array.Clear(katar, 1, 2); // [02]
            foreach (string eleman in katar) // [03]
            {
                Console.WriteLine(eleman); // [04]
            }
            Console.ReadKey(); // [05]
        }
    }
}
// [01]: “katar” adını verdiğimiz 5 elemanlı string(dizge) bir dizi değişken tanımladık ve elemanlarına string verileri yükledik.
// [02]: Array sınıfının Clear metodunu kullanarak “katar” dizisinin 1 numara indexli elemanından başlayarak 2 elemanının sakladığı veriyi temizledik.
// [03]: Döngü döndüğü sürece ve her seferinde “katar” dizisinin bir elemanının tuttuğu veriyi “eleman” adındaki string değişkene yükledik.
// [04]: “eleman” değişkeninin sakladığı veriyi ekrana yazdırdık.
// [05]: Konsol penceresinin hemen kaybolmasını engelledik.
 
Array Reverse Metodu

Reverse dizi değişkenin elemanlarının index numaralarını tersten tekrar elemanlarına dağıtır. Yani bu başlangıçta en küçük index numarasına sahip olan elemanın metodun çalıştırılmasından sonra en büyük index numarasına kavuşacağı anlamına gelir. Dizi değişkenin elemanlarının dizilişi daima index numarası, 0 olandan başlayarak küçükten büyüğe doğru olacak şekilde yapılır. Dolayısıyla dizi değişken tersten tekrar oluşturulmuş olur.

Evet, Reverse metodu dizi değişkenin barındırdığı verileri tersten tekrar sılaralar.

Array sınıfı 2 adet Reverse metoduna sahiptir. Bu metotların biri tek parametreli bir diğeri ise 3 parametrelidir.

Tek parametreli Reverse metodunda dizi değişkeninin tüm elemanları etkilenir. Fakat 3 parametreli Reverse metodun da ise Clear metodunda olduğu gibi sadece belirtilen elemanlar etkilenir.

Parametreler:

1)  Değişiklik yapılacak dizi değişken atanır.(Teklide sadece bu parametre vardır.)
2)  Tersten tekrar sıralamaya başlanacak elemanın index numarası atanır.
3)  Tersten tekrar sıralanacak veri sayısı, yani etkilenecek eleman sayısı atanır.

Tek parametreli çağırma şekli:
Array.Reverse(dizi);

3 parametreli çağırma şekli:
Array.Reverse(dizi,index,adet);

 

// [-O] : Bir dizi değişkenin elemanlarına index numaralarını tersten tekrar dağıttık.
using System;
namespace yG_CS_Proje
{
    class Program
    {
        static void Main()
        {
            string[] katar = new string[5] { "tavşan", "tırtıl", "kunduz", "fare", "at" }; // [01]
            Array.Reverse(katar); // [02]
            Console.WriteLine(katar[0]); // [03]
            Console.ReadKey(); // [04]
        }
    }
}
// [01]: “katar” adını verdiğimiz 5 elemanlı string(dizge) bir dizi değişken tanımladık ve elemanlarına string verileri yükledik.
// [02]: Array sınıfının Reverse metodunu kullanarak “katar” dizisinin elemanlarına index numaralarını tersten tekrar dağıttık.
// [03]: “katar” dizisinin 0 indexli elemanının tuttuğu veriyi ekrana yazdırdık.
// [04]: Konsol penceresinin hemen kaybolmasını engelledik.
 
Array Sort Metodu 

Sort metodu dizi değişkenin elemanlarının sakladığı değerlerin küçükten büyüğe doğru sıralanabilmesi için index numaralarını bu kuralın sağlanacağı şekilde yeniden dağıtır. Kısacası dizideki değerleri küçükten büyüğe doğru sıralar.

Array sınıfında 17 Sort metodu bulunmaktadır. Biz bu metotlardan sadece Array türü tek parametresi olan Sort metodunu inceleyeceğiz.

Çağırma şekli:
Array.Sort(dizi);

 

// [-P] : Bir dizi değişkenin elemanlarının tuttuğu sayıları küçükten büyüğe sıralayan program.
using System;
namespace yG_CS_Proje
{
    class Program
    {
        static void Main()
        {
            int[] sayilar = new int[5] { 30, 10, 56, 12, 42 }; // [01]
            Array.Sort(sayilar); // [02]
            foreach (int eleman in sayilar) // [03]
            {
                Console.WriteLine(eleman); // [04]
            }
            Console.ReadKey(); // [05]
        }
    }
}
// [01]: “sayilar” adını verdiğimiz 5 elemanlı int(tam sayı) bir dizi değişken tanımladık ve elemanlarına tam sayıları yükledik.
// [02]: Array sınıfının Sort metodunu kullanarak “sayilar” dizisinin barındırdığı sayıları küçükten büyüğe tekrar sıraladık.
// [03]: Döngü döndüğü sürece ve her seferinde “sayilar” dizisinin bir elemanının tuttuğu sayıyı “eleman” adındaki int değişkene yükledik.
// [04]: “eleman” değişkeninin tuttuğu sayıyı ekrana yazdırdık.
// [05]: Konsol penceresinin hemen kaybolmasını engelledik.
 
Bir sonraki derste görüşmek üzere, iyi çalışmalar.

Önerilen diğer yazılar:
NTP C# Dersi 10: Dizi Döngüsü, Foreach

NTP C# Dersi 12: Kütüphane(Class Library) Projesi

 

Yorum Yap

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

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>