Lambda memungkinkan kita menulis fungsi sebaris tanpa mendeklarasikan method terpisah, dan menjadi tulang punggung LINQ serta API modern .NET. Section ini membedah sintaks dan perilaku lambda: dari closure dan variable capture hingga expression trees yang membaca kode sebagai data.
Bedah anatomi sintaks lambda: parameter, panah =>, dan body, beserta variasi bentuknya dari tanpa parameter hingga tipe eksplisit.
Buka → # Statement LambdaGunakan statement lambda dengan blok kurawal ketika logika lambda membutuhkan beberapa statement dan return eksplisit.
Buka → # Expression LambdaGunakan expression lambda, bentuk paling ringkas tanpa kurawal dan return, ketika body hanya terdiri dari satu ekspresi.
Buka → # ClosurePahami bagaimana lambda menangkap variabel di sekitarnya by reference sehingga perubahan variabel terasa dan umurnya ikut diperpanjang.
Buka → # Variable CaptureAmati jebakan loop variable pada closure dan perbaiki dengan menyalin nilai ke variabel lokal di setiap iterasi.
Buka → # Expression-Bodied LambdaJelajahi operator => yang menjalar dari lambda ke member class: method, property, hingga menggantikan getter sederhana.
Buka → # Expression Trees IntroductionUbah lambda menjadi data dengan Expression<Func<>> dan telusuri pohon node-nya sebagai langkah pertama membaca kode sebagai data.
Buka → # Func, Action, PredicateGunakan tabel referensi Func, Action, dan Predicate beserta contoh gabungan untuk memilih tipe delegate yang tepat saat menulis lambda.
Buka → # Higher-Order FunctionsBangun method yang menerima dan mengembalikan method lain sehingga strategi diskon dapat dibuat dinamis lewat lambda.
Buka → # Lambda PerformanceUkur alokasi memori lambda non-capturing versus capturing dan terapkan kebiasaan yang menekan tekanan pada garbage collector.
Buka →