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.

Makale Geçmişi

20.06.16 21:19
LINQ - Bölümleme (Partitioning) Örnekleri
Bu makalede kullanılan veri kaynağını görmek için tıklayın . Basit Take Örneği Take yöntemi, bir listeden baştan itibaren istenilen sayıdaki elemanlarını verir. Bu örnek öğrenci bilgilerini içeren bir veri kaynağından seçtiği ilk 5 sıradaki öğrencilerin ad ve soyad bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir(); var Ilk5Ogrenci = Ogrenciler.Take(5); Console.WriteLine("Listedeki ilk 5 öğrenci :"); foreach (var Ogrenci in Ilk5Ogrenci) { Console.WriteLine("{0} {1}", Ogrenci.Adi, Ogrenci.Soyadi); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : Listedeki ilk 5 öğrenci : Tuncay Çağrı Jale İkinci Tekin Uğurlu Mesut Bahtiyar Veli Canlı Yuvalanmış (Nested) Take Örneği Take yöntemi ( Enumerable.Take ), bir listenin baştan istenilen sayıda elemanını seçer. Take , aşağıdaki örnekte olduğu gibi bir sorgunun sonuna eklenebilir. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki tam not alan öğrencilerden ilk 2 tanesinin adı ve not bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir(); var Ilk2TamNot = (from Ogrenci in Ogrenciler from Not in Ogrenci.Notlar where Not == 100 select new {Ogrenci.Adi, Not}).Take(2); Console.WriteLine("İlk 2 tam not :"); foreach (var Satir in Ilk2TamNot) { Console.WriteLine("{0} {1}", Satir.Adi, Satir.Not); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk 2 tam not : Jale 100 Ayşe 100 Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir: var Ogrenciler = OgrencileriGetir(); var Ilk2TamNot = Ogrenciler.SelectMany(Ogrenci => Ogrenci.Notlar.Where(Notu => Notu == 100) , (Ogrenci, Notu) => new { Ogrenci.Adi, Not = Notu } ).Take(2); Console.WriteLine("İlk 2 tam not :"); foreach (var Satir in Ilk2TamNot) { Console.WriteLine("{0} {1}", Satir.Adi, Satir.Not); } Console.ReadLine(); Basit Skip Örneği Skip yöntemi ( Enumerable.Skip ), bir listenin baştan istenilen sayıda elemanını atlar ve sonraki elemanları seçer. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki son 2 öğrencinin adı ve soyadı bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir(); var Son2Ogrenci = (from Ogrenci in Ogrenciler select Ogrenci).Skip(Ogrenciler.Count() - 2); Console.WriteLine("Listedeki son 2 öğrenci :"); foreach (var Ogrenci in Son2Ogrenci) { Console.WriteLine("{0} {1}", Ogrenci.Adi, Ogrenci.Soyadi); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : Listedeki son 2 öğrenci : Erhan Fidan Erhan Çelik Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir: var Ogrenciler = OgrencileriGetir(); var Son2Ogrenci = Ogrenciler.Skip(Ogrenciler.Count() - 2); Console.WriteLine("Listedeki son 2 öğrenci :"); foreach (var Ogrenci in Son2Ogrenci) { Console.WriteLine("{0} {1}", Ogrenci.Adi, Ogrenci.Soyadi); } Console.ReadLine(); Yuvalanmış (Nested) Skip Örneği Skip yöntemi ( Enumerable.Skip ), bir listenin baştan istenilen sayıda elemanını atlar ve sonraki elemanları seçer. Alttaki örnekte görüldüğü gibi Skip, bir sorgunun sonuna eklenebilir. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki ilk 2 tam not alan öğrenciden sonraki tam not alan öğrencilerin adı ve notu bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir(); var Ilk2DenSonrakiTamNotlar = (from Ogrenci in Ogrenciler from Not in Ogrenci.Notlar where Not == 100 select new { Ogrenci.Adi, Not }).Skip(2); Console.WriteLine("İlk 2 tam notdan sonraki tam notlar :"); foreach (var Satir in Ilk2DenSonrakiTamNotlar) { Console.WriteLine("{0} {1}", Satir.Adi, Satir.Not); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk 2 tam notdan sonraki tam notlar : Ayşe 100 Erhan 100 Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir: var Ogrenciler = OgrencileriGetir(); var Ilk2DenSonrakiTamNotlar = Ogrenciler.SelectMany(Ogrenci => Ogrenci.Notlar.Where(Notu => Notu == 100) , (Ogrenci, Notu) => new { Ogrenci.Adi, Not = Notu } ).Skip(2); Console.WriteLine("İlk 2 tam notdan sonraki tam notlar :"); foreach (var Satir in Ilk2DenSonrakiTamNotlar) { Console.WriteLine("{0} {1}", Satir.Adi, Satir.Not); } Console.ReadLine(); Basit TakeWhile Örneği TakeWhile yöntemi ( Enumerable.TakeWhile ), bir listenin baştan itibaren verilen bir şarta uyan elemanlarını seçer şart sağlandığı sürece seçer. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki ilk başarısız öğrenciye kadar olan öğrencilerin adı, soyadı ve not ortalaması bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir(); var IlkBasarililar = Ogrenciler.TakeWhile(Ogrenci => Ogrenci.Ortalama >= 55); Console.WriteLine("İlk başarısız öğrenciye kadar öğrenciler :"); foreach (var BasariliOgrenci in IlkBasarililar) { Console.WriteLine("{0} {1}, ortalaması : {2:0.00}", BasariliOgrenci.Adi, BasariliOgrenci.Soyadi, BasariliOgrenci.Ortalama); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk başarısız öğrenciye kadar öğrenciler : Tuncay Çağrı, ortalaması : 73,33 Jale İkinci, ortalaması : 97,00 Dizinli (Indexed) TakeWhile Örneği TakeWhile yönteminin ( Enumerable.TakeWhile ) 2. kullanım şeklinde yöntem tarafından, listenin sıradaki elemanı ve aynı zamanda elemanın listedeki sıra numarası Lambda İfadesi olarak tanımlanabilecek bir isimsiz fonksiyona geçilir. Biz de bu fonksiyon yardımı ile kayıt atlama sürecinde elemanın sıra numarası ile ilgili olarak dikkate alınacak durumları işleriz. Bu örnek öğrenci bilgilerini içeren bir veri kaynağından sıra numarasına (index) bakarak seçtiği ilk 5 öğrencinin ad ve soyad bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir(); var Ilk5Ogrenci = Ogrenciler.TakeWhile((Ogrenci, Index) => Index <= 4); Console.WriteLine("İlk 5 öğrenci :"); foreach (var Ogrenci in Ilk5Ogrenci) { Console.WriteLine("{0} {1}", Ogrenci.Adi, Ogrenci.Soyadi); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk 5 öğrenci : Tuncay Çağrı Jale İkinci Tekin Uğurlu Mesut Bahtiyar Veli Canlı Basit SkipWhile Örneği SkipWhile yöntemi ( Enumerable.SkipWhile ), bir listenin baştan itibaren verilen bir şarta uyan elemanlarını şart sağlandığı sürece atlar ve sonraki elemanlarını seçer. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki ilk başarısız öğrenciye kadar atlayıp, bu öğrenci ve sonraki öğrencilerin adı, soyadı ve yaş bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir(); var IlkBasarisizVeSonrasi = Ogrenciler.SkipWhile(Ogrenci => Ogrenci.Ortalama >= 55); Console.WriteLine("İlk başarısız öğrenci ve sonraki öğrenciler :"); foreach (var Ogrenci in IlkBasarisizVeSonrasi) { Console.WriteLine("{0} {1}, yaşı {2}.", Ogrenci.Adi, Ogrenci.Soyadi, Ogrenci.Yasi); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk başarısız öğrenci ve sonraki öğrenciler : Tekin Uğurlu, yaşı 58. Mesut Bahtiyar, yaşı 33. Veli Canlı, yaşı 20. Ahmet Geçe, yaşı 55. Fatma Teyze, yaşı 41. Mehmet Emre, yaşı 43. Hale Birinci, yaşı 31. Ayşe Hanım, yaşı 30. Cevdet Döğer, yaşı 46. Nuri Babayiğit, yaşı 15. Kenan Oran, yaşı 52. Lale Üçüncü, yaşı 23. Erhan Erkanlı, yaşı 55. Erhan Fidan, yaşı 45. Erhan Çelik, yaşı 35. Dizinli (Indexed) SkipWhile Örneği SkipWhile yönteminin ( Enumerable.SkipWhile   2. kullanım şeklinde yöntem tarafından, listenin sıradaki elemanı ve aynı zamanda elemanın listedeki sıra numarası Lambda İfadesi olarak tanımlanabilecek bir isimsiz fonksiyona geçilir. Biz de bu fonksiyon yardımı ile kayıt atlama sürecinde elemanın sıra numarası ile ilgili olarak dikkate alınacak durumları işleriz. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki ilk 8 öğrenciye kadar olan öğrencileri atlayıp, bu öğrenci ve sonraki öğrencilerin adı ve soyadı bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir(); var SekizinciVeSonrasi = Ogrenciler.SkipWhile((Ogrenci, Index) => Index < 7); Console.WriteLine("Sekizinci öğrenci ve sonrakiler :"); foreach (var Ogrenci in SekizinciVeSonrasi) { Console.WriteLine("{0} {1}", Ogrenci.Adi, Ogrenci.Soyadi); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : Sekizinci öğrenci ve sonrakiler : Mehmet Emre Hale Birinci Ayşe Hanım Cevdet Döğer Nuri Babayiğit Kenan Oran Lale Üçüncü Erhan Erkanlı Erhan Fidan Erhan Çelik Kaynak: https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b 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 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  (Bu makale) 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
10.04.16 21:18
LINQ - Bölümleme (Partitioning) Örnekleri
Bu makalede kullanılan veri kaynağını görmek için tıklayın . Basit Take Örneği Take yöntemi, bir listeden baştan itibaren istenilen sayıdaki elemanlarını verir. Bu örnek öğrenci bilgilerini içeren bir veri kaynağından seçtiği ilk 5 sıradaki öğrencilerin ad ve soyad bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir (); var Ilk5Ogrenci = Ogrenciler . Take ( 5 ); Console . WriteLine ( "Listedeki ilk 5 öğrenci :" ); foreach ( var Ogrenci in Ilk5Ogrenci ) { Console . WriteLine ( "{0} {1}" , Ogrenci . Adi , Ogrenci . Soyadi ); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : Listedeki ilk 5 öğrenci : Tuncay Çağrı Jale İkinci Tekin Uğurlu Mesut Bahtiyar Veli Canlı Yuvalanmış (Nested) Take Örneği Take yöntemi ( Enumerable.Take ), bir listenin baştan istenilen sayıda elemanını seçer. Take , aşağıdaki örnekte olduğu gibi bir sorgunun sonuna eklenebilir. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki tam not alan öğrencilerden ilk 2 tanesinin adı ve not bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir (); var Ilk2TamNot = ( from Ogrenci in Ogrenciler from Not in Ogrenci . Notlar where Not == 100 select new { Ogrenci . Adi , Not }). Take ( 2 ); Console . WriteLine ( "İlk 2 tam not :" ); foreach ( var Satir in Ilk2TamNot ) { Console . WriteLine ( "{0} {1}" , Satir . Adi , Satir . Not ); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk 2 tam not : Jale 100 Ayşe 100 Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir: var Ogrenciler = OgrencileriGetir (); var Ilk2TamNot = Ogrenciler . SelectMany ( Ogrenci => Ogrenci . Notlar . Where ( Notu => Notu == 100 ) , ( Ogrenci , Notu ) => new { Ogrenci . Adi , Not = Notu } ). Take ( 2 ); Console . WriteLine ( "İlk 2 tam not :" ); foreach ( var Satir in Ilk2TamNot ) { Console . WriteLine ( "{0} {1}" , Satir . Adi , Satir . Not ); } Console.ReadLine(); Basit Skip Örneği Skip yöntemi ( Enumerable.Skip ), bir listenin baştan istenilen sayıda elemanını atlar ve sonraki elemanları seçer. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki son 2 öğrencinin adı ve soyadı bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir (); var Son2Ogrenci = ( from Ogrenci in Ogrenciler select Ogrenci ). Skip ( Ogrenciler . Count () - 2 ); Console . WriteLine ( "Listedeki son 2 öğrenci :" ); foreach ( var Ogrenci in Son2Ogrenci ) { Console . WriteLine ( "{0} {1}" , Ogrenci . Adi , Ogrenci . Soyadi ); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : Listedeki son 2 öğrenci : Erhan Fidan Erhan Çelik Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir: var Ogrenciler = OgrencileriGetir (); var Son2Ogrenci = Ogrenciler . Skip ( Ogrenciler . Count () - 2 ); Console . WriteLine ( "Listedeki son 2 öğrenci :" ); foreach ( var Ogrenci in Son2Ogrenci ) { Console . WriteLine ( "{0} {1}" , Ogrenci . Adi , Ogrenci . Soyadi ); } Console.ReadLine(); Yuvalanmış (Nested) Skip Örneği Skip yöntemi ( Enumerable.Skip ), bir listenin baştan istenilen sayıda elemanını atlar ve sonraki elemanları seçer. Alttaki örnekte görüldüğü gibi Skip, bir sorgunun sonuna eklenebilir. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki ilk 2 tam not alan öğrenciden sonraki tam not alan öğrencilerin adı ve notu bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir (); var Ilk2DenSonrakiTamNotlar = ( from Ogrenci in Ogrenciler from Not in Ogrenci . Notlar where Not == 100 select new { Ogrenci . Adi , Not }). Skip ( 2 ); Console . WriteLine ( "İlk 2 tam notdan sonraki tam notlar :" ); foreach ( var Satir in Ilk2DenSonrakiTamNotlar ) { Console . WriteLine ( "{0} {1}" , Satir . Adi , Satir . Not ); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk 2 tam notdan sonraki tam notlar : Ayşe 100 Erhan 100 Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir: var Ogrenciler = OgrencileriGetir (); var Ilk2DenSonrakiTamNotlar = Ogrenciler . SelectMany ( Ogrenci => Ogrenci . Notlar . Where ( Notu => Notu == 100 ) , ( Ogrenci , Notu ) => new { Ogrenci . Adi , Not = Notu } ). Skip ( 2 ); Console . WriteLine ( "İlk 2 tam notdan sonraki tam notlar :" ); foreach ( var Satir in Ilk2DenSonrakiTamNotlar ) { Console . WriteLine ( "{0} {1}" , Satir . Adi , Satir . Not ); } Console.ReadLine(); Basit TakeWhile Örneği TakeWhile yöntemi ( Enumerable.TakeWhile ), bir listenin baştan itibaren verilen bir şarta uyan elemanlarını seçer şart sağlandığı sürece seçer. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki ilk başarısız öğrenciye kadar olan öğrencilerin adı, soyadı ve not ortalaması bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir (); var IlkBasarililar = Ogrenciler . TakeWhile ( Ogrenci => Ogrenci . Ortalama >= 55 ); Console . WriteLine ( "İlk başarısız öğrenciye kadar öğrenciler :" ); foreach ( var BasariliOgrenci in IlkBasarililar ) { Console . WriteLine ( "{0} {1}, ortalaması : {2:0.00}" , BasariliOgrenci . Adi , BasariliOgrenci . Soyadi , BasariliOgrenci . Ortalama ); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk başarısız öğrenciye kadar öğrenciler : Tuncay Çağrı, ortalaması : 73,33 Jale İkinci, ortalaması : 97,00 Dizinli (Indexed) TakeWhile Örneği TakeWhile yönteminin ( Enumerable.TakeWhile ) 2. kullanım şeklinde yöntem tarafından, listenin sıradaki elemanı ve aynı zamanda elemanın listedeki sıra numarası Lambda İfadesi olarak tanımlanabilecek bir isimsiz fonksiyona geçilir. Biz de bu fonksiyon yardımı ile kayıt atlama sürecinde elemanın sıra numarası ile ilgili olarak dikkate alınacak durumları işleriz. Bu örnek öğrenci bilgilerini içeren bir veri kaynağından sıra numarasına (index) bakarak seçtiği ilk 5 öğrencinin ad ve soyad bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir (); var Ilk5Ogrenci = Ogrenciler . TakeWhile (( Ogrenci , Index ) => Index <= 4 ); Console . WriteLine ( "İlk 5 öğrenci :" ); foreach ( var Ogrenci in Ilk5Ogrenci ) { Console . WriteLine ( "{0} {1}" , Ogrenci . Adi , Ogrenci . Soyadi ); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk 5 öğrenci : Tuncay Çağrı Jale İkinci Tekin Uğurlu Mesut Bahtiyar Veli Canlı Basit SkipWhile Örneği SkipWhile yöntemi ( Enumerable.SkipWhile ), bir listenin baştan itibaren verilen bir şarta uyan elemanlarını şart sağlandığı sürece atlar ve sonraki elemanlarını seçer. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki ilk başarısız öğrenciye kadar atlayıp, bu öğrenci ve sonraki öğrencilerin adı, soyadı ve yaş bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir (); var IlkBasarisizVeSonrasi = Ogrenciler . SkipWhile ( Ogrenci => Ogrenci . Ortalama >= 55 ); Console . WriteLine ( "İlk başarısız öğrenci ve sonraki öğrenciler :" ); foreach ( var Ogrenci in IlkBasarisizVeSonrasi ) { Console . WriteLine ( "{0} {1}, yaşı {2}." , Ogrenci . Adi , Ogrenci . Soyadi , Ogrenci . Yasi ); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : İlk başarısız öğrenci ve sonraki öğrenciler : Tekin Uğurlu, yaşı 58. Mesut Bahtiyar, yaşı 33. Veli Canlı, yaşı 20. Ahmet Geçe, yaşı 55. Fatma Teyze, yaşı 41. Mehmet Emre, yaşı 43. Hale Birinci, yaşı 31. Ayşe Hanım, yaşı 30. Cevdet Döğer, yaşı 46. Nuri Babayiğit, yaşı 15. Kenan Oran, yaşı 52. Lale Üçüncü, yaşı 23. Erhan Erkanlı, yaşı 55. Erhan Fidan, yaşı 45. Erhan Çelik, yaşı 35. Dizinli (Indexed) SkipWhile Örneği SkipWhile yönteminin ( Enumerable.SkipWhile   2. kullanım şeklinde yöntem tarafından, listenin sıradaki elemanı ve aynı zamanda elemanın listedeki sıra numarası Lambda İfadesi olarak tanımlanabilecek bir isimsiz fonksiyona geçilir. Biz de bu fonksiyon yardımı ile kayıt atlama sürecinde elemanın sıra numarası ile ilgili olarak dikkate alınacak durumları işleriz. Bu örnek öğrenci bilgilerini içeren bir veri kaynağındaki ilk 8 öğrenciye kadar olan öğrencileri atlayıp, bu öğrenci ve sonraki öğrencilerin adı ve soyadı bilgilerinden bir isimsiz tip oluşturup seçer ve bunu bir foreach döngüsü ile çıktıya yazar. var Ogrenciler = OgrencileriGetir (); var SekizinciVeSonrasi = Ogrenciler . SkipWhile (( Ogrenci , Index ) => Index < 7 ); Console . WriteLine ( "Sekizinci öğrenci ve sonrakiler :" ); foreach ( var Ogrenci in SekizinciVeSonrasi ) { Console . WriteLine ( "{0} {1}" , Ogrenci . Adi , Ogrenci . Soyadi ); } Console.ReadLine(); Örneğin çıktısı şöyle olacaktır : Sekizinci öğrenci ve sonrakiler : Mehmet Emre Hale Birinci Ayşe Hanım Cevdet Döğer Nuri Babayiğit Kenan Oran Lale Üçüncü Erhan Erkanlı Erhan Fidan Erhan Çelik
Ekleyen: canora

En fazla 3 eski durum gösterilir.