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.

Yazılım Makaleleri

0

LINQ - Eleman (Element) Seçimi Örnekleri

Bu makalede bazı örneklerde kullanılan veri kaynağını görmek için tıklayın.

First İle İlk Elemanı Seçme


First (ilk) yöntemi, listenin ilk elemanını seçip döndürür. Dönen elemanın tipi liste elemanlarının tipinde (örneğimizde Kayit ) olacaktır.

Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağından bayan öğrencileri seçerek oluşturduğu listenin ilk elemanını seçer.

var Ogrenciler = OgrencileriGetir();

Kayit ListedekiIlkBayanOgrenci = (
                                  from Ogrenci in Ogrenciler
                                  where Ogrenci.Cinsiyet == "Bayan"
                                  select Ogrenci
                                 ).First();

Console.WriteLine("Listedeki ilk bayan öğrenci :");

Console.WriteLine("{0} {1}", ListedekiIlkBayanOgrenci.Adi, ListedekiIlkBayanOgrenci.Soyadi);

Console.ReadLine();

Örneğin çıktısı şöyle olacaktır :

Listedeki ilk bayan öğrenci :
Jale İkinci

Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:

var Ogrenciler = OgrencileriGetir();

Kayit ListedekiIlkBayanOgrenci = Ogrenciler.Where(Ogrenci=>Ogrenci.Cinsiyet == "Bayan").First();

Console.WriteLine("Listedeki ilk bayan öğrenci :");

Console.WriteLine("{0} {1}", ListedekiIlkBayanOgrenci.Adi, ListedekiIlkBayanOgrenci.Soyadi);

Console.ReadLine();

First İle Şarta Uyan İlk Elemanı Seçme

First (ilk) yönteminin ikinci kullanımı, listede verilen şarta uyan ilk kaydın seçilmesi için kullaınlır. Dönen elemanın tipi liste elemanlarının tipinde (örneğimizde Kayit) olacaktır.

Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağından (erkek ve bayanlar dahil) ilk bayan öğrenciyi seçer.

var Ogrenciler = OgrencileriGetir();

var ListedekiIlkBayanOgrenci = Ogrenciler.First(Ogrenci => Ogrenci.Cinsiyet == "Bayan");

Console.WriteLine("Listedeki ilk bayan öğrenci :");

Console.WriteLine("{0} {1}", ListedekiIlkBayanOgrenci.Adi, ListedekiIlkBayanOgrenci.Soyadi);

Console.ReadLine();

Örneğin çıktısı şöyle olacaktır :

Listedeki ilk bayan öğrenci :
Jale İkinci

FirstOrDefault İle İlk Elemanı Veya Yoksa Varsayılan Bir Değer Seçme

FirstOrDefault (ilk veya varsayılan) yöntemi, listedeki ilk elemanı, listede hiç eleman yoksa listenin eleman türünün varsayılan değerini seçer. Örneğin listede hiç eleman yoksa ve listedeki elemanlar tamsayı ise tamsayıların varsayalın değerini (0), bir nesne ise null değerini döndürür.

Aşağıdaki örnek, boş bir tamsayı dizisi ve yine boş bir Kayit sınıfı dizisi üzerinde FirstOrDefault yöntemini çalıştırır. Dizidelerde eleman olmadığ için tamsayıların varsayılan değerini (0) ve sınıfların varsayılan değerini (null) seçer.

int[] Sayilar = { };
Kayit[] Ogrenciler = { };

int IlkTamsayiVeyaVarsayilanTamsayi = Sayilar.FirstOrDefault();
Kayit IlkVeyaVarsayilanKayitDegeri = Ogrenciler.FirstOrDefault();

Console.WriteLine("Dizilerdeki ilk elemanlar veya eleman yoksa varsayılan değerler :");

Console.WriteLine(IlkTamsayiVeyaVarsayilanTamsayi);
Console.WriteLine(IlkVeyaVarsayilanKayitDegeri == null ? "null" : IlkVeyaVarsayilanKayitDegeri.Adi);

Console.ReadLine();

Örneğin çıktısı şöyle olacaktır :

Dizilerdeki ilk elemanlar veya eleman yoksa varsayılan değerler :
0
null

FirstOrDefault İle Şarta Uyan İlk Elemanı Veya Yoksa Varsayılan Bir Değer Seçme

FirstOrDefault (ilk veya varsayılan) yönteminin ikinci kullanım şeklinde, listedeki verilen bir şarta uyan elemanlardan ilk elemanı veya şarta uyan hiç eleman yoksa listenin eleman tipinin varsayılan değerini seçebilirsiniz.

Aşağıdaki örnek, öğrenci bilgileirini içeren bir listedeki 2003 doğumlu öğrencileri seçer. Ancak listede 2003 doğumlu öğrenci olmadığından öğrenci kaydını temsil eden Kayit sınıfının varsayılan değerini (null) seçer ve buna göre çıktıyı düzenler.

var Ogrenciler = OgrencileriGetir();

var SecilenOgrenci = Ogrenciler.FirstOrDefault(Ogrenci => Ogrenci.DogumTarihi.Year == 2003);

Console.WriteLine("2003 yılında doğan öğrenci {0}.", SecilenOgrenci == null ? "yok" : "var");

Console.ReadLine();

Örneğin çıktısı şöyle olacaktır :

2003 yılında doğan öğrenci yok.

ElementAt İle Belirtilen Konumdaki Elemanı Seçme

ElementAt yöntemi, listenin belirtilen siradaki elemanını seçer. Elemanların sıra numarası 0'dan başlar (ilk elemanın sıra numarası 0, ikincininki 1 ...).

Aşağıdaki örnek, öğrenci bilgilerini içeren bir veri kaynağından bayan öğrencileri seçerek oluşturduğu listedeki 2. bayan öğrenciyi seçer ve bilgilerini çıktıya yazar.

var Ogrenciler = OgrencileriGetir();

var ListedekiIkinciBayanOgrenci = (
                                   from Ogrenci in Ogrenciler
                                   where Ogrenci.Cinsiyet == "Bayan"
                                   select Ogrenci
                                  ).ElementAt(1);

Console.WriteLine("Listedeki 2. bayan öğrenci :");

Console.WriteLine("{0} {1}", ListedekiIkinciBayanOgrenci.Adi, ListedekiIkinciBayanOgrenci.Soyadi);

Örneğin çıktısı şöyle olacaktır :

Listedeki 2. bayan öğrenci :
Fatma Teyze

Aynı örnek, LINQ Yöntem Sözdizimi (LINQ Method Syntax) ile şu şekilde yazılabilir:

var Ogrenciler = OgrencileriGetir();

var ListedekiIkinciBayanOgrenci = Ogrenciler.Where(Ogrenci => Ogrenci.Cinsiyet == "Bayan").ElementAt(1);

Console.WriteLine("Listedeki 2. bayan öğrenci :");

Console.WriteLine("{0} {1}", ListedekiIkinciBayanOgrenci.Adi, ListedekiIkinciBayanOgrenci.Soyadi);

Kaynak:
https://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b



Diğer LINQ Makaleleri:


Yazan: 10.04.16 22:58

101,387p 4ü