Örneklerle C# ArrayList Eğitimi
⚡ Akıllı Özet
C#'da ArrayList, System.Collections ad alanından gelen ve öğeleri nesne olarak depolayan dinamik bir koleksiyondur. Bir dizinin aksine, çalışma zamanında büyür ve küçülür ve tek bir listede tamsayıları, dizeleri ve Boolean değerlerini birlikte tutabilir.

C#'ta ArrayList nedir?
ArrayList koleksiyonu şuna benzer: Diziler C#'ta veri türü. En büyük fark, dizi listesi koleksiyonunun dinamik yapısıdır.
Diziler için, dizi bildirimi sırasında dizinin tutabileceği öğe sayısını tanımlamanız gerekir. Ancak Dizi Listesi koleksiyonu söz konusu olduğunda bunun önceden yapılmasına gerek yoktur. Öğeler Array List koleksiyonuna herhangi bir zamanda eklenebilir veya kaldırılabilir. Dizi listesi koleksiyonu için mevcut işlemlere daha ayrıntılı olarak bakalım.
Dizi Listesinin Bildirilmesi
ArrayList'in bildirimi aşağıda verilmiştir. ArrayList Veri Tipinin yardımıyla bir dizi listesi oluşturulur. ArrayList nesnesini oluşturmak için “new” anahtar sözcüğü kullanılır. Daha sonra nesne a1 değişkenine atanır. Şimdi a1 değişkeni dizi listesinin farklı öğelerine erişmek için kullanılacak.
ArrayList a1 = new ArrayList()
Bir diziye öğe ekleme
Add yöntemi ArrayList'e bir öğe eklemek için kullanılır. Ekleme yöntemi, dizi listesine herhangi bir veri türü öğesi eklemek için kullanılabilir. Böylece dizi listesine bir Tamsayı, bir dize ve hatta bir Boolean değeri ekleyebilirsiniz. Toplama yönteminin genel sözdizimi aşağıda verilmiştir.
ArrayList.add(element)
Aşağıda “ekleme” yönteminin nasıl kullanılabileceğine dair bazı örnekler verilmiştir. Array List koleksiyonuna çeşitli veri türlerini eklemek için add yöntemi kullanılabilir.
Aşağıda Integer'ın String'lerini ve hatta Boolean değerlerini Array List koleksiyonuna nasıl ekleyebileceğimize dair örnekleri görebilirsiniz.
- a1.add(1) – Bu, koleksiyona bir Tamsayı değeri ekleyecektir
- a1.add(“Örnek”) – Bu, koleksiyona bir String değeri ekleyecektir
- a1.add(true) – Bu, koleksiyona bir Boolean değeri ekleyecektir
Şimdi bunun kod düzeyinde çalıştığını görelim. Aşağıda belirtilen kodların tamamı Konsol uygulamamıza yazılacaktır. Kod Program.cs dosyamıza yazılacaktır.
Aşağıdaki programda yeni dizi listesi oluşturacak kodu yazacağız. Ayrıca Dizi listesinin elemanlarını eklemeyi ve elemanlarını görüntülemeyi de göstereceğiz.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
Code Açıklama:-
- İlk adım Dizi Listemizi bildirmek için kullanılır. Burada a1'i dizi listemizin elemanlarını tutacak bir değişken olarak bildiriyoruz.
- Daha sonra dizi listesine 1 sayısını, “Örnek” dizesini ve 'true' Boolean değerini eklemek için add anahtar sözcüğünü kullanırız.
- Daha sonra her dizi listesi öğesinin değerini konsolda görüntülemek için Console.WriteLine yöntemini kullanırız. Tıpkı dizilerde olduğu gibi öğelere dizin konumları aracılığıyla erişebildiğimizi fark edeceksiniz. Dizi Listesinin ilk konumuna erişmek için [0] dizin konumunu kullanırız. Ve benzeri.
Yukarıdaki kod düzgün bir şekilde girilip program çalıştırıldığında aşağıdaki çıktı görüntülenecektir.
Çıktı:
Çıktıdan dizi listesindeki tüm öğelerin konsola gönderildiğini görebilirsiniz.
ArrayList'in bir parçası olarak mevcut olan bazı yöntemlere daha bakalım.
saymak
Bu yöntem ArrayList koleksiyonundaki öğe sayısını almak için kullanılır. Aşağıda bu ifadenin genel sözdizimi verilmiştir.
ArrayList.Count() – Bu yöntem, dizi listesinin içerdiği öğelerin sayısını döndürür.
İçeren
Bu yöntem ArrayList koleksiyonunda bir öğenin mevcut olup olmadığını görmek için kullanılır. Bu ifadenin genel sözdizimi aşağıdadır
ArrayList.Contains(element) – Bu yöntem, öğe listede mevcutsa true değerini döndürür, aksi takdirde false değerini döndürür.
KaldırAt
Bu yöntem, ArrayList koleksiyonunda belirli bir konumdaki bir öğeyi kaldırmak için kullanılır. Bu ifadenin genel sözdizimi aşağıdadır
ArrayList.RemoveAt(index) – Bu yöntem, bir öğeyi Dizi Listesinin belirli bir konumundan kaldıracaktır.
Şimdi bunun kod düzeyinde çalıştığını görelim. Aşağıda belirtilen kodların tamamı Konsol uygulamamıza yazılacaktır. Kod Program.cs dosyamıza yazılacaktır.
Aşağıdaki programda yukarıda bahsettiğimiz yöntemleri nasıl kullanabileceğimizi görmek için kod yazacağız.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
Code Açıklama:-
- Yani gördüğümüz ilk özellik Count özelliğidir. a1 dizi listesinin Count özelliğini alıyoruz ve bunu Console'a yazıyoruz.
- İkinci kısımda ise ArrayList a1’in 2 elemanını içerip içermediğini görmek için Container metodunu kullanıyoruz. Daha sonra sonucu Writeline komutu ile Console’a yazıyoruz.
- Son olarak, Öğeyi kaldır yöntemini göstermek için aşağıdaki adımları gerçekleştiriyoruz:
- Öncelikle dizi listesinin Index pozisyonu 1'deki elemanın değerini konsola yazıyoruz.
- Daha sonra dizi listesinin Index pozisyonu 1'deki elemanı kaldırıyoruz.
- Son olarak dizi listesinin Index pozisyonu 1'deki elemanın değerini yine konsola yazıyoruz. Bu adımlar, kaldırma yönteminin olması gerektiği gibi çalışıp çalışmayacağına dair adil bir fikir verecektir.
Yukarıdaki kod düzgün bir şekilde girilip program çalıştırıldığında aşağıdaki çıktı görüntülenecektir.
Çıktı:
Son değer neden doğrudur?
Olayların sırasını görürseniz Örnek öğesi diziden kaldırılır çünkü bu konum 1'dedir. Dizinin 1. konumu daha sonra daha önce 2. konumda olan ve 'true' değeri olan öğeyle değiştirilir.
C# ArrayList'te Döngü Nasıl Oluşturulur?
Bir ArrayList'in her öğesini okumak yaygın bir işlemdir. ArrayList öğelerini nesne olarak sakladığı için, bunları bir foreach döngüsü veya Count özelliğini kullanan bir for döngüsü ile ziyaret edebilirsiniz. Foreach döngüsü en basit yöntemdir, çünkü bir dizine ihtiyaç duymadan her öğeyi sırayla inceler.
Aşağıdaki örnek, stringlerden oluşan bir ArrayList oluşturur ve her değeri ayrı bir satırda yazdırır. Kod, bir Konsol uygulamasının Program.cs dosyasında yazılmıştır.
) 1 Adım System.Collections ad alanını içe aktarın ve üç öğeden oluşan bir ArrayList oluşturun.
) 2 Adım Her bir öğeyi nesne olarak okumak ve konsola yazmak için bir foreach döngüsü kullanın.
using System; using System.Collections; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add("Java"); a1.Add("Python"); a1.Add("Kotlin"); foreach (object item in a1) { Console.WriteLine(item); } Console.ReadKey(); } } }
Code Açıklama:-
- System.Collections ad alanı içe aktarılarak ArrayList türü programa erişilebilir hale getirilir.
- Add metodu kullanılarak ArrayList'e üç adet string değeri eklenir.
- `foreach` döngüsü her öğeyi bir nesne olarak okur ve `Console.WriteLine` yöntemi bunu yeni bir satıra yazdırır.
Program çalıştırıldığında şunu yazdırır: Java, Python, ve Kotlin Ayrı satırlarda. Count özelliğine sahip bir for döngüsü aynı sonucu verirken, her öğenin indeks konumunu kullanmanıza da olanak tanır.
C# ArrayList Metotları ve Özellikleri
ArrayList sınıfı, öğelerini yönetmek için birçok yerleşik yöntem ve özellik sunar. Öğeleri ekleme ve kaldırmanın ötesinde, koleksiyonu sıralayabilir, arayabilir ve tersine çevirebilir. En yaygın üyeler aşağıda listelenmiştir.
| Üye | Açıklama |
| Ekle | ArrayList'in sonuna tek bir öğe ekler. |
| Ekle | Belirtilen dizin konumuna bir öğe ekler. |
| Kaldır | Belirtilen öğenin ilk geçtiği yeri kaldırır. |
| KaldırAt | Verilen indeks konumundaki öğeyi siler. |
| Şeffaf | ArrayList'teki tüm öğeleri kaldırır. |
| Sırala | Öğeleri artan sırada sıralar. |
| Reverse | ReverseListedeki öğelerin sırasını gösterir. |
| İçeren | Belirtilen öğenin listede olup olmadığını kontrol eder ve varsa true değerini döndürür. |
| IndexOf | Verilen öğenin indeks konumunu döndürür. |
| saymak | Kaydedilen eleman sayısını döndüren özellik. |
| Kapasite | Listenin tutabileceği eleman sayısını döndüren özellik. |
Bu üyeler, mantığı kendiniz yazmanıza gerek kalmadan öğeleri eklemenize, bulmanıza, sıralamanıza ve kaldırmanıza olanak tanır; bu da düz bir dizi yerine koleksiyon kullanmanın başlıca avantajlarından biridir.
C#'da ArrayList ve List Arasındaki Fark
Hem bir ArrayList hem de genel bir Liste Çalışma zamanında büyüyebilen bir grup öğeyi saklarlar, ancak türleri ele alma biçimleri farklıdır. Bu farkı bilmek, modern C# kodu için doğru olanı seçmenize yardımcı olur.
Başlıca farklılıklar aşağıda listelenmiştir:
- Tip güvenliği: Bir ArrayList her öğeyi bir nesne olarak saklarken, bir List tek bir tanımlanmış türe bağlıdır ve derleme zamanında kontrol edilir.
- Performans: ArrayList, int gibi değer tiplerini kutulayıp kutudan çıkarır; bu da zaman kaybına neden olur. Oysa List, daha iyi hız için kutulama işleminden kaçınır.
- Ad alanı: ArrayList, System.Collections içinde yer alırken, List ise System.Collections.Generic içinde yer alır.
- Döküm: ArrayList'ten okuma işlemi genellikle orijinal türe geri dönüştürme gerektirir, ancak List doğrudan doğru türü döndürür.
- Öneri: Microsoft List'i yeni geliştirmeler için daha güvenli, daha hızlı ve okunması daha kolay olduğu için öneriyor.
Özetle, ArrayList eski kodları veya karma veri tipli depolamayı anlamak için kullanışlıyken, List günümüzde çoğu uygulama için tercih edilen seçenektir.




