Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

LINQ - Query Reuse - Sorgunun Yeniden Kullanımı

LINQ sorguları hemen çalıştırılmaz. Sorgu tanımlandıktan sonra çalıştırılabilmesi için bir foreach döngüsü içinde veya bir LINQ yöntemi (fonksiyonu) ile kullanılması gerekir. Buna Deffred Execution (ertelenmiş çalıştırma) denir. Ertelenmiş çalıştırma bize sorguyu bir kez tanımladıktan sonra veriler değiştikçe tekrar tekrar çalıştırma imkanı verir.
int[] sayilar = new int[] { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var kucukSayilar =
from sayi in sayilar
where sayi < 5
select sayi;

Console.WriteLine("İlk çalıştırma sonucunda 5'den küçük sayılar :");

foreach (int sayi in kucukSayilar)
{
Console.WriteLine(sayi);
}

// Dizideki sayıları değiştir (negatife çevir)
for (int i = 0; i < 10; i++)
{
sayilar[i] = sayilar[i] * -1;
}

// Sayılar değiştiği için alttaki foreach döngüsünde sorgu tekrar
// çalıştırılacak ve dolayısıyla farklı sonuçlar görüntülenecektir.

Console.WriteLine("İkinci çalıştırma sonucunda 5'den küçük sayılar:");

foreach (int sayi in kucukSayilar)
{
Console.WriteLine(sayi);
}
Örneğin çıktısı şöyle olacaktır :
İlk çalıştırma sonucunda 5'den küçük sayılar :
4
1
3
2
0
İkinci çalıştırma sonucunda 5'den küçük sayılar:
-5
-4
-1
-3
-9
-8
-6
-7
-2



Diğer LINQ Makaleleri:


Yazan: 09.04.16 20:55

101,387p 4ü