Linq, Lambda Kullanım Notları – 2

Bir önceki makalenin devamı olarak, bu makalede linq, lamda kullanım türlerine kaldığımız yerden devam ediyoruz. Önceki makale için tıklayınız.

Her bir ifade için kullanacağımız örnek tablo ve listeler:

  • int[] Sayilar1 = new int[] { 1, 2, 3, 4, 5}
  • int[] Sayilar2 = new int[] { 1, 3, 7, 7, }
  • string[] Renkler= new string[] {“Beyaz”,”Mor”}

12 – Reverse Kullanımı

Listede bulunan elemanları, tersten sıralayarak döndürmeyi sağlar.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.Reverse();

Sonuç : {5, 4, 3, 2, 1}

13 – First/ FirstOrDefault Kullanımı

First” komutu, liste içindeki ilk elemanı, “FirstOrDefault” ise, eğer listede boş değilse ilk elemanı, liste boş ise varsayılan olarak “null” değerini döndürür. Boş bir liste için “first” komutu kullanılırsa, hata alınır.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.First();

Sonuç : {1}

IEnumerable SayiListesi  = Sayilar1.FirstOrDefault(x => x>5);

Sonuç : null

14 – Last/ LastOrDefault Kullanımı

Last” komutu, liste içindeki son elemanı, “LastOrDefault” ise, eğer liste boş değilse son elemanı, liste boş ise varsayılan olarak “null” değerini döndürür. Boş bir liste için “last” komutu kullanılırsa, hata alınır.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.Last();

Sonuç : {5}

IEnumerable SayiListesi  = Sayilar1.LastOrDefault(x => x<3);

Sonuç : 2

15 – Single/ SingleOrDefault Kullanımı

Single” komutu, liste içindeki tek elemanı döndürür. Eğer listede birden fazla eleman varsa ya da liste boş ise hata döndürür. “SingleOrDefault” ise, eğer listede bir tek eleman var ise bu elemanı, liste boş ise “null” değerini , birden fazla eleman var ise hata döndürür. Boş bir liste için “single” komutu kullanılırsa hata alınır.

16 – ElementAt / ElementAtOrDefault Kullanımı

ElementAt” komutu, liste içindeki belirtilen sıradaki elemanı, “ElementAtOrDefault” ise, liste içindeki belirtilen sıradaki eleman varsa bu elemanı, yoksa varsayılan olarak “null” değerini döndürür. Boş bir liste için “elemanAt” komutu kullanılırsa hata alınır.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.ElementAt(4);

Sonuç : 4

Örnek Olarak ;

IEnumerable SayiListesi  = Sayilar1.ElementAtOrDefault(7);

Sonuç : null

17 – Distinct Kullanımı

Liste içerisindeki tekrarlayan elemanları sadece bir kez göstererek listeler.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar2.Distinct();

Sonuç : {1, 3, 7}

18 – Except Kullanımı

Liste içerisindeki elemanları, diğer liste ile kıyaslar ve farklı olan elemanları bulur.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.Except(Sayilar2);

Sonuç : {2, 4, 5}

19 – Intersect Kullanımı

İki farklı liste içersinden, aynı elelmanları bulmak için kullanılır.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.Intersect(Sayilar2);

Sonuç : {1, 3}

20 – Union Kullanımı

İki farklı listeyi birleştirir, tekrarlayan kayıtları bir kez yazar .

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.Union(Sayilar2);

Sonuç : {1, 2, 3, 4, 5, 7}

21 – Aggregate Kullanımı

Listedeki tüm elemanları sırayla istenilen bir işleme tabi tutarak, bir değer elde etmek için 2 parametreli bir Lambda İfadesi ile beraber kullanılır. İstenirse bir ön değer ile birlikte kullanılabilir.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.Aggregate((a, b) => a * b);

Sonuç : 120

IEnumerable SayiListesi  = Sayilar1.Aggregate(10, (a, b) => a * b);

Sonuç : 1200

22 – Count Kullanımı

Listedeki elemanların sayısını döndürür.

Örnek Olarak:

IEnumerable CityCount  = City.Count();

Sonuç : 6

23 – Sum Kullanımı

Listedeki sayıların toplamını döndürür.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar1.Sum();

Sonuç : 15

24 – Max / Min Kullanımı

Max” ifadesi listedeki en büyük sayıyı, “Min” ifadesi ise listedeki en küçük sayıyı döndürür.

Örnek Olarak:

IEnumerable SayiListesi  = Sayilar2.Max();

Sonuç : 7

IEnumerable SayiListesi  = Sayilar1.Min();

Sonuç : 1

Tags:

2 thoughts on “Linq, Lambda Kullanım Notları – 2

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir