20.06.16 21:16
LINQ - Deferred Execution - Ertelenmiş Çalıştırma
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. Bu örnekte sorgu foreach döngüsüne kadar çalıştırılmayacaktır. int[] sayilar = new int[] { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; int i = 0; var iler = from n in sayilar select ++i; // Burada ertelenmiş çalıştırmanın bir yan etkisi olarak, // i değişkeninin değeri de her bir eleman foreach içinde // kullanıldığında (döngü içinde) arttırılacaktır. foreach (var biri in iler) { Console.WriteLine("biri = {0}, i = {1}", biri, i); } Örneğin çıktısı şöyle olacaktır : biri = 1, i = 1 biri = 2, i = 2 biri = 3, i = 3 biri = 4, i = 4 biri = 5, i = 5 biri = 6, i = 6 biri = 7, i = 7 biri = 8, i = 8 biri = 9, i = 9 biri = 10, i = 10 Diğer LINQ Makaleleri: LINQ Örnekleri makalelerinde kullanılan verikaynağı LINQ (Language Integrated Query - Dile Entegre Edilmiş Sorgu) Nedir? LINQ Sağlayıcıları (LINQ Providers) LINQ Yöntem Sözdizimi (LINQ Method Syntax) LINQ - Temel İşlemler - Bir Veri Kaynağı Bildirme ve Seçme (From ve Select) LINQ - Temel İşlemler - Süzme (Filtering) LINQ - Temel İşlemler - Sıralama (Ordering) LINQ - Temel İşlemler - Gruplama (Grouping) LINQ - Temel İşlemler - Birleştirme (Joining) LINQ - Deferred Execution - Ertelenmiş Çalıştırma (Bu makale) LINQ - Immediate Execution - Anında Çalıştırma LINQ - Query Reuse - Sorgunun Yeniden Kullanımı LINQ - Kısıtlama (Restriction) Kullanım Örnekleri LINQ - Yansıtma (Projection) - Select Kullanım Örnekleri LINQ - Yansıtma (Projection) - SelectMany Kullanım Örnekleri LINQ - Bölümleme (Partitioning) Örnekleri LINQ - Sıralama (Ordering) Örnekleri LINQ - Gruplama (Grouping) Örnekleri LINQ - Küme (Set) Örnekleri LINQ - Dönüşüm (Conversion) Örnekleri LINQ - Eleman (Element) Seçimi Örnekleri LINQ - Oluşturma (Generation) Örnekleri LINQ - Miktar Belirleyiciler (Quantifiers) Örnekleri LINQ - Yığın (Aggregate) Örnekleri LINQ - Birleştirme (Join) İşlemleri LINQ - Özel Dizilim (Custom Sequence) Örneği LINQ - Concat ve SequenceEqual İle Örnekle r
Ekleyen: canora
Değiştiren: canora
09.04.16 20:52
LINQ - Deferred Execution - Ertelenmiş Çalıştırma
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. Bu örnekte sorgu foreach döngüsüne kadar çalıştırılmayacaktır. int[] sayilar = new int[] { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; int i = 0; var iler = from n in sayilar select ++i; // Burada ertelenmiş çalıştırmanın bir yan etkisi olarak, // i değişkeninin değeri de her bir eleman foreach içinde // kullanıldığında (döngü içinde) arttırılacaktır. foreach (var biri in iler) { Console.WriteLine("biri = {0}, i = {1}", biri, i); } Örneğin çıktısı şöyle olacaktır : biri = 1, i = 1 biri = 2, i = 2 biri = 3, i = 3 biri = 4, i = 4 biri = 5, i = 5 biri = 6, i = 6 biri = 7, i = 7 biri = 8, i = 8 biri = 9, i = 9 biri = 10, i = 10
Ekleyen: canora