Ekspresi lambda digunakan untuk membuat suatu fungsi anonim. Penggunaan lambda sering dipadukan dengan delegate dan LINQ. Contoh penulisan lambda, x=>x+5 , x adalah parameter input dan x+5 adalah ekspresi lambda, untuk x kita bisa menggunakan selain x, misalnya a,b, c atau “Terserah”.
Contoh kodingan. Sebuah array bertipe elemen string akan dicari jumlah karakter elemennya yang paling sedikit. Pertama, parameter input “terserah” akan otomatis berisi seluruh elemen dari arrayString(.Net framework yang melakukannya di balik layar). Ekspresi terserah.Length dieksekusi ke seluruh elemen “terserah” untuk mendapatkan panjang(length) karakter masing-masing elemen. Kedua, method Min() digunakan untuk mencari panjang karakter yang paling kecil.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LambdaExample { class Program { static void Main(string[] args) { string[] arrayString = { "Aku", "Cinta", "kamu" }; Console.WriteLine(arrayString.Min(terserah=>terserah.Length)); Console.ReadKey(); } } } |
Contoh kodingan lambda yang dipadukan dengan delegate. Sebuah ekspresi lambda dengan 2 parameter input, x dan y yang mengembalikan nilai hasil dari perkalian x dan y akan dipanggil menggunakan delegate.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LambdaExampleWithDelegate { class Program { delegate int del(int i, int j); static void Main(string[] args) { del myDelegate = (x,y) => x * y; int j = myDelegate(5,4); Console.Write(j); Console.ReadKey(); } } } |
Ketika delegate myDelegate dipanggil, fungsi anonim (x,y) => x * y dipanggil sambil memasukkan argumen x dan y.
Wah saya baru tau fungsi itu disebut lambda expressions. Terimakasih Artikelnya, ilmu baru ini. Request artikel matlab boleh?
Emang dulu tau nya apa?