List<T>, Sıralı bir şekilde eleman saklayan dinamik boyutlu bir koleksiyondur. “T”, listenin içerisinde tutulacak veri türünü belirtir (int, string, vb.). Elemanlar eklenme sırasına göre korunur ve indeksleri 0’dan başlar.
Kullanım Alanları
- Ürün listesi oluşturma
- Kullanıcı adlarının veya e-posta adreslerinin saklanması
- Veri sıralama, filtreleme ve dönüştürme işlemleri
- Log kayıtlarını tutma
List<T> Oluşturma ve Eleman Ekleme/Çıkarma
C#
using System;
using System.Collections.Generic;
public class ListOrnegi
{
public static void Main(string[] args)
{
// Boş bir string listesi oluşturma
List<string> isimler = new List<string>();
// Eleman ekleme
isimler.Add("Ali");
isimler.Add("Veli");
isimler.Add("Mehmet");
// Belirli bir indekse eleman ekleme
isimler.Insert(1, "Ayşe"); // 1. indekse Ayşe'yi ekler (Ali, Ayşe, Veli, Mehmet)
// Eleman çıkarma
isimler.Remove("Veli"); // İlk bulunan "Veli" elemanını siler
isimler.RemoveAt(0); // 0. indeksteki elemanı siler (Ayşe, Mehmet)
foreach (string isim in isimler)
{
Console.WriteLine(isim);
}
}
}
Elemana Erişme (İndeksleme)
List<T>’deki elemanlara indeksleri kullanarak erişilebilir:
C#
string ilkIsim = isimler[0]; // İlk elemana erişir (Ayşe)
Console.WriteLine(ilkIsim);List<T>’in Özellikleri
- Count: Listedeki eleman sayısını döndürür.
Capacity: Listenin şu anda tutabileceği maksimum eleman sayısını döndürür. Kapasite, listede yer açmak için otomatik olarak artırılabilir.
C#
Console.WriteLine($"Eleman sayısı: {isimler.Count}"); // Eleman sayısı: 2
Console.WriteLine($"Kapasite: {isimler.Capacity}"); // Kapasite (örneğin, 4 olabilir)List<T> ile Döngüler
- for döngüsü: İndeksleri kullanarak elemanlara erişmek için kullanılır.
- foreach döngüsü: Listedeki tüm elemanları sırayla işlemek için daha kolay bir yöntemdir.
List<T>’in Yaygın Kullanım Senaryoları
- Veri sıralama: Sort() metodu ile listeyi sıralayabiliriz.
- Veri filtreleme: LINQ kullanarak belirli koşulları sağlayan elemanları seçebiliriz.
- Veri dönüştürme: LINQ kullanarak listedeki elemanları farklı bir türe dönüştürebiliriz.
Kaynak: https://learn.microsoft.com/tr-tr/dotnet/csharp/tour-of-csharp/tutorials/