C# Lambda Expressions kullanımı

Merhaba,

Bu yazımda Lambda Expressions hakkında biraz bilgi vermeye çalışacağım. Lambda Expressions genelde basit işlermler yapmak için kullanılır ve LINQ sorgularının yazılımını kolaylaştırır.

[csharp]

n=>n*n;

[/csharp]

Sol tarafta parametre bildirimini, lambda operatöründen (=>) sonra ifadeyi veya kod bloğunu sağ tarafa yazın.

Örnek;

[csharp]

using System;
using System.Collections.Generic;
using System.Linq;

namespace Lambda_Ifadeleri
{
class Program
{
// iki tam sayı parametresi alan delegete tanımlayalım
delegate int TamsayiIslevi(int sayi1, int sayi2);
static void Main(string[] args)
{

TamsayiIslevi tsiTopla = (x, y) => x + y;

TamsayiIslevi tsiCikar = (x, y) => x – y;

Console.WriteLine(tsiTopla(19, 9));
Console.WriteLine(tsiCikar(19,9));
Console.ReadKey();
}
}
}

[/csharp]

Şimdi de LINQ sorgularının lambda ifadeleriyle nasıl yazıldığına bakalım. LINQ sorgularını lambda ifadelerini kullanarak tek seferde yazmak mümkündür. Okunaklı bir kod yazımı sağlamış oluruz.

 

Örnek :

[csharp]

public class Employee
{
public int id { get; set; }
public string Name { get; set; }
public double Salary { get; set; }

public override string ToString()
{
return string.Format("Name = {0}, Salary = {1}",Name, Salary);
}
}

//Employee tipin de listemizi oluşturalım.

List Employees = new List
{
new Employee{ id=1, Salary=1500, Name="Emre" },
new Employee{ id=2, Salary=2000, Name="Ahmet" },
new Employee{ id=3, Salary=3000, Name="Ali" },

};

//Maaşı 1750’den küçük olan çalışanları alfabetik sırayla gösterelim.

//LINQ sorgusu
var linq = from c in Employees
where c.Salary < 1750
orderby c.Name
select c;

//Lambda Expression sorgusu
var lambda = Employees.Where(i => i.Salary < 1750).OrderBy(i => i.Name);
[/csharp]

Örnekler bu şekilde çoğaltılabilir. Lambda Expression hakkında aktaracaklarım bu kadar umarım yararlı olur. İyi çalışmalar.

Hakkında Ali Demirci

Ben Ali Demirci... 1991 Ankara doğumluyum. Ankara da yaşıyorum. Fırsat buldukça öğrendiklerimi burada paylaşıyorum. Java ile haşır neşirim. Android'den asla vazgeçemem. Öğrenmeye bayılırım. Yeni şeyler öğrendiğimde, geçmişteki projelerimde keşke böyle yapsaydım diye çok üzülmüşümdür. O yüzden öğrenmekten korkmayın. Takıldığınız yerleri mutlaka sorun. Biliyorsam yanıt veririm. Bilmiyorsam yol gösteririm. Teşekkürler :)

Kontrol Et

İşletim Sistemlerine Giriş

İşletim sistemleri, bilgisayar donanımları ve kullanıcılar arasında iletişim sağlamak amacıyla yazılmış olan programlardır. Bilgisayar Nedir? …

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.