Csharp Listelerde Remove Metotları Kullanımı

Posted by

Merhaba arkadaşlar, bu yazımda sizlere C# Listelerde Remove Metotları Kullanımı konusundan bahsedeceğim.

Projelerimizde sıklıkla listeleri kullanırız. Bu listeler üzerinde bazen işlemler yapmamız gerekmektedir. Örneğin, filtreleme ve silme gibi. Bu yazımızda da Remove metotlarını kullanarak var olan listemizden elemanların silinmesi işlemini gerçekleştireceğiz.

Örnek vererek işlemlerimizi sağlayalım.

Öncelikle bir adet Product isminde class oluşturuyoruz.

public class Product
{
   public int Id { get; set; }
   public string Name { get; set; }
   public decimal Price { get; set; }
}

Daha sonra ise örnek kayıtlarımızın olduğu bir liste oluşturuyoruz.

List<Product> products = new List<Product>()
{
    new Product { Id = 1, Name = "Bilgisayar 1", Price = 500 },
    new Product { Id = 2, Name = "Bilgisayar 2", Price = 100 },
    new Product { Id = 3, Name = "Telefon 2", Price = 1000 },
    new Product { Id = 4, Name = "Telefon 1", Price = 250 }
};

Ürün listemizde 4 adet eleman bulunmaktadır. Bu elemanlardan Id’si 4 olan ürünü silmek istiyoruz. Id’si 4 olan ürünün de index numarası 3 olarak gözükmektedir. Index numaraları sıfırdan başladığı için son kaydımızın index numarası 3’tür.

products.RemoveAt(3);

Index numarası ile silme işlemi gerçekleştirmek için RemoveAt metodumuzu kullanabiliriz.

Herhangi bir ürün kaydını belli bir kritere göre sorgulayıp silmek istiyorsak eğer Remove metodunu kullanabiliriz. Bunu sağlamak için de örnek olarak Id’si 4 olan ürünü öncelikle sorguluyoruz sonrasında da Remove metodumuzun içerisine bu sorguladığımız ürünü veriyoruz.

var deleteProduct = products.FirstOrDefault(x=> x.Id == 4);

products.Remove(deleteProduct);

Birden fazla kayıtları belli kriterlere göre silmek için ise RemoveAll metodunu kullanabiliriz.

products.RemoveAll(x=> x.Price == 250 || x.Price == 100);

Yukarıdaki kod ile de fiyatı 250 ya da 100 olan kayıtları silecektir.

RemoveRange metodunu kullanarak da hangi index numarasından başlayacağını belirterek ve de kaç kayıt silineceğini belirterek silme işlemleri sağlayabiliriz.

products.RemoveRange(0,2);

Yukarıdaki kod ile de index 0’dan başlayıp 2 adet kaydın silinmesini belirtmiş olduk ve listemizden ilk iki kaydımız böylelikle silinecektir.

Listeler ile Remove metotları kullanımını yukarıdaki örneklerdeki gibi sağlayabilirsiniz.

Umarım faydalı olur.

Bir sonraki yazıda görüşmek üzere…

Leave a Reply

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