{Merhaba Dünya Ben Emre Kıyak}

 





Dizilerde kopyalama işlemi

Share |


Bu yazımda bir dizi içindeki elemanların başka bir dizi içine kopyalanması işleminin nasıl gerçekleştiğini anlatmaya çalışacağım.

Çalışmalarımızda zaman zaman dizi içindeki elemanların bir başka dizi içine taşınarak yeni dizilerin oluşturulmasına ihtiyaç duyabiliriz. Örneğin veritabanından belli özelliklerdeki üyeleri seçip bir diziye aldığınızı düşünün. Bu üyeler içinde döngü ile dönerek belli özelliklere sahip olanları bir başka diziye taşıma ihtiyacı duyduğunuzu düşünün. Buna benzer durumlarda birden fazla dizi ile çalışmak ve dizilerin elemanlarının kopyalanmasına ihtiyaç duyabilirsiniz. Bu konuda aşağıda size fikir verecek küçük örnekler mevcuttur.

 

class Program
    {
        static void Main(string[] args)
        {
            int[] dizi1 = { 1, 2, 3, 4 };
            int[] dizi2 = new int[10];
 
            //Dizi1'in elemanlarını Dizi2'nin içine 5. indeksten itibaren kopyalar
            dizi1.CopyTo(dizi2, 5);
 
            //Dizi1'in 1. indeksinden sonraki elemanları uzunluk kadar Dizi2'nin 2. indeksinden itibaren kopyalar.
            Array.Copy(dizi1, 1, dizi2, 2, 2);
 
            //Dizi1 dizisi birebir dizi3 dizisi içine klonlanır.
            int[] dizi3 = dizi1.Clone() as int[];
          
        }
    }

Yukarıda dizi1 ve dizi2 adında iki dizi oluşturduk. dizi1'in elemanlarını hemen tanımlandığı yerde atadık. dizi2'nin elemanlarını da new metodu ile atadık. İlk örnekte dizi1.Copy fonksiyonu ile dizi1'in elemanlarını dizi2'nin 5. indeksinden itibaren yerleştirmeye başlıyoruz.

İkinci örnekte Array objesinin copy metodu ile çok daha detaylı bir kopyalama işlemi yapıyoruz. dizi1'in 1. indeksinden sonraki elemanlardan (2,3,4) ilk ikisini, dizi2'nin 2. indeksinden itibaren kopyalıyoruz.

Son örnekte de dizi3 adında bir dizi tanımlıyoruz. Bu dizinin elemanlarının da dizi1'in elemanları ile aynı olması için klonluyoruz.

Kaynak : Sefer Algan C# 3.0


31 Ekim 2009 Cumartesi öğleden sonra 14:20

Mesajınızı yazabilirsiniz


Rumuz :  
 
Email :   
  
Mesaj :  
Bu konuya abone olmak ister misiniz ?

Güvenlik kodunu göremiyorsanız sayfayı yenileyin.
Güvenlik Kodu :