Python’daki lambda expression’a benzer bir yazım şekli olan, kullanım alanı Python’a göre daha kısıtlı olan kullanışlı ve hızlı çalışan bir yapıdır.
Listelerdeki verileri sıralama, filtreleme, veri ile işlem yapma gibi bir çok özellikleri bulunmaktadır.
c# için iki farklı yazılışı vardır.
Expression Lambda:
List<int> sayilar = new List<int>() {25, 27, 9, 77, 15, 23, 56, 42}; var kareler = sayilar.ForEach(x => x * x); foreach(var item in kareler){ Console.WriteLine(x); }
Statement Lambda:
List<int> sayilar = new List<int>() {25, 27, 9, 77, 15, 23, 56, 42}; sayilar.ForEach(x => { x = x * x; Console.WriteLine(x); });
Bu yapıyı nesneler üzerinde de kolaylıkla kullanabiliriz.
//Ogrenciler class oluşturulduğu varsayılarak List<Ogrenciler> ogrenciListesi = new List<Ogrenciler>() { new Ogrenciler{ ogrNo = 1, isim = "Ahmet" }, new Ogrenciler{ ogrNo = 2, isim = "Emin" }, new Ogrenciler{ ogrNo = 3, isim = "Boran" }, new Ogrenciler{ ogrNo = 4, isim = "Çiçek" }, new Ogrenciler{ ogrNo = 5, isim = "Aslı" } }; var siraliOgrenciListesi = ogrenciListesi.OrderBy(x => x.isim); foreach (var item in siraliOgrenciListesi) { Console.WriteLine(item.isim); }
