1. Anasayfa
  2. C#

IEnumerable ve IQueryable: Farkları ve Kullanım Senaryoları

IEnumerable ve IQueryable: Farkları ve Kullanım Senaryoları
0

C# programlama dili, koleksiyonlarla çalışmayı kolaylaştıran bir dizi araç sunar. IEnumerable ve IQueryable, C# dilinde yaygın olarak kullanılan iki arayüz türüdür. Bu iki arayüzün kullanım senaryoları farklıdır ve birbirlerinin yerine kullanılmamalıdır. Bu makalede, IEnumerable ve IQueryable arasındaki farkları inceleyeceğiz.

IEnumerable, C# dilinde en temel arayüzlerden biridir. Bu arayüz, IEnumerable<T> olarak tanımlanır ve koleksiyonların elemanlarının okunmasına izin verir. IEnumerable, bir koleksiyon üzerinde sorgulama yapmak için kullanılamaz. Örneğin, aşağıdaki kod bloğunda, bir koleksiyon üzerindeki elemanları tek tek döngüye sokarak okuyabilirsiniz:

IEnumerable<int> collection = new List<int>() { 1, 2, 3, 4, 5 };

foreach (var item in collection)
{
    Console.WriteLine(item);
}

IQueryable ise, IEnumerable ile benzer bir arayüzdür. IQueryable<T> olarak tanımlanır ve bir sorgu ifadesini içeren bir sorgu için bir arabirim sağlar. IQueryable, sorgu ifadesinin yürütülmesi için bir veritabanı sorgusu oluşturur ve yalnızca gerekli verileri yükler. Bu, IQueryable’in, büyük veri kümeleri üzerinde çalışırken bellek kullanımını azaltması ve performansı artırması anlamına gelir.

Aşağıdaki örnek, IQueryable kullanarak bir sorgu ifadesinin yürütülmesini gösterir:

IQueryable<int> query = collection.Where(x => x > 3);

foreach (var item in query)
{
    Console.WriteLine(item);
}

Bu kod bloğunda, Where() yöntemi bir sorgu ifadesi döndürür ve bu ifade IQueryable arayüzü tarafından çalıştırılır. Bu, sadece 3’ten büyük olan elemanların yüklenmesi anlamına gelir.

IEnumerable ve IQueryable arasındaki farklar şunlardır:

  • IEnumerable, koleksiyonların elemanlarına erişim sağlar, ancak bir sorgu ifadesini yürütmek için kullanılamaz.
  • IQueryable, sorgu ifadelerinin yürütülmesi için kullanılır ve büyük veri kümeleri üzerinde çalışırken bellek kullanımını azaltır.
  • IQueryable, sorguların sonuçlarını yüklemek için gerekli olan SQL sorgularını otomatik olarak oluşturabilir.

Sonuç olarak, IEnumerable ve IQueryable farklı kullanım senaryoları için tasarlanmıştır. IEnumerable, koleksiyonlar üzerinde işlem yapmak için kullanılır

Yazmayı, öğrenmeyi, öğrendiklerini paylaşmayı , kodlamayı ve günün birinde Yazilim Geliştirme Uzmanı olmanın hayalini kuran birisiyim.

Yazarın Profili

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir