İçeriğe atla

Language Integrated Query

Vikipedi, özgür ansiklopedi
Yazdırılabilir sürüm artık desteklenmiyor ve görüntü oluşturma hataları olabilir. Lütfen tarayıcı yer işaretlerinizi güncelleyin ve bunun yerine varsayılan tarayıcı yazdırma işlevini kullanın.

Language Integrated Query (LINQ, "dil ile bütünleşik sorgu") .NET dillerine SQL benzeri sorgulama becerisi ekleyen bir Microsoft .NET Framework bileşenidir. "Link" diye okunur.

Koleksiyonlar için LINQ

Bir C# sayı dizisi içerisindeki "tek sayı" şartına uyanlar LINQ standart deyimleri ile şöyle elde edilebilir:

int[] sayilar = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 8 };
var tekSayilar =
    from sayi in sayilar
    where sayi % 2 == 1
    select sayi;

Özel amaçlı nesnelerden oluşan bir koleksiyon da aynı yapı ile sorgulanabilir:

List urunler = UrunListesiOlustur(); // faraza bir Urun koleksiyonu olusturur
var satilmisUrunler =
    from urun in urunler
    where urun.StoktaKalan == 0
    select urun;

LINQ sorguları sadece SQL benzeri sorgulama söz dizimi ile kullanılabilmekle kalmayıp, Fluent Interface söz dizimi ile de kullanılabilmektedir. Aşağıdaki iki örnek, sırayla yukarıdaki örneklerin yaptıkları ile aynı işleri yapmaktadır:

int[] sayilar = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0, 8 };
var tekSayilar =
    sayilar
    .Where(sayi => sayi % 2 == 1)
    .Select(sayi => sayi);
List urunler = UrunListesiOlustur(); // faraza bir Urun koleksiyonu olusturur
var satilmiUrunler =
    urunler
    .Where(urun => urun.StoktaKalan == 0)
    .Select(urun => urun);

Kaynakça

Dış bağlantılar