ArrayList, genişletilebilir bir dizi gibi davranan ve farklı türlerdeki nesneleri saklayabilen bir koleksiyon sınıfıdır. ArrayList, System.Collections namespace’i altında yer alır.
ArrayList, dizilere benzer şekilde çalışan dinamik bir koleksiyon türüdür. Farkı, ArrayList’in boyutunun dinamik olarak değişebilmesi ve farklı veri türlerini içerebilmesidir.
ArrayList list = new ArrayList();
ArrayList’e eleman eklemek için Add
yöntemini kullanabilirsiniz. ArrayList, farklı türlerdeki nesneleri kabul eder.
list.Add(10); // int
list.Add("Hello"); // string
list.Add(true); // bool
Belirli bir elemanı kaldırmak için Remove
veya belirli bir indeksteki elemanı kaldırmak için RemoveAt
yöntemlerini kullanabilirsiniz.
list.Remove(10); // Değeri belirli bir öğeyi kaldırma
list.RemoveAt(1); // Belirli bir konumdaki öğeyi kaldırma
ArrayList’teki elemanlara indis kullanarak erişebilirsiniz.
object firstItem = list[0]; // İndeks kullanarak erişim
ArrayList’in içindeki öğe sayısını almak için Count
özelliğini kullanabilirsiniz.
int count = list.Count;
ArrayList’i bir diziye dönüştürmek için ToArray
yöntemini kullanabilirsiniz.
object[] array = list.ToArray();
ArrayList, genellikle dizilere benzer şekilde kullanılır ancak boyutunun dinamik olması nedeniyle daha esnek bir yapı sunar. Ancak içerisindeki nesnelerin tip güvenliği olmadığı için kullanımı dikkat gerektirir ve performans açısından Generic koleksiyonlara göre daha düşük performanslı olabilir.
C# 2.0’dan sonra Generic koleksiyonlar (List<T>, Dictionary<TKey, TValue>, vb.) kullanılmaya başlanmıştır. Bu koleksiyonlar tip güvenliğini sağlar ve performans açısından daha iyidir. ArrayList yerine Generic koleksiyonlar kullanılması önerilir, ancak bazı durumlarda ArrayList hala kullanışlı olabilir.
ArrayList, eski C# kodlarında veya farklı veri türlerini depolamak için geçici bir çözüm olarak kullanılabilir. Ancak projenizin gereksinimlerine göre Generic koleksiyonlar daha uygun bir tercih olabilir.