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.

# Lambda Syntax

Bedah anatomi sintaks lambda: parameter, panah =>, dan body, beserta variasi bentuknya dari tanpa parameter hingga tipe eksplisit.

Buka →
# Statement Lambda

Gunakan statement lambda dengan blok kurawal ketika logika lambda membutuhkan beberapa statement dan return eksplisit.

Buka →
# Expression Lambda

Gunakan expression lambda, bentuk paling ringkas tanpa kurawal dan return, ketika body hanya terdiri dari satu ekspresi.

Buka →
# Closure

Pahami bagaimana lambda menangkap variabel di sekitarnya by reference sehingga perubahan variabel terasa dan umurnya ikut diperpanjang.

Buka →
# Variable Capture

Amati jebakan loop variable pada closure dan perbaiki dengan menyalin nilai ke variabel lokal di setiap iterasi.

Buka →
# Expression-Bodied Lambda

Jelajahi operator => yang menjalar dari lambda ke member class: method, property, hingga menggantikan getter sederhana.

Buka →
# Expression Trees Introduction

Ubah lambda menjadi data dengan Expression<Func<>> dan telusuri pohon node-nya sebagai langkah pertama membaca kode sebagai data.

Buka →
# Func, Action, Predicate

Gunakan tabel referensi Func, Action, dan Predicate beserta contoh gabungan untuk memilih tipe delegate yang tepat saat menulis lambda.

Buka →
# Higher-Order Functions

Bangun method yang menerima dan mengembalikan method lain sehingga strategi diskon dapat dibuat dinamis lewat lambda.

Buka →
# Lambda Performance

Ukur alokasi memori lambda non-capturing versus capturing dan terapkan kebiasaan yang menekan tekanan pada garbage collector.

Buka →