Skip to content

C# Feature – Lambda expressions

Lambdas are anonymous functions with expression or block bodies, foundational to LINQ and functional patterns.

C# 3 (2007)

List<int> Filter(List<int> xs, Predicate<int> pred) { /* ... */ }
var evens = numbers.Where(n => n % 2 == 0).ToList();
Func<int,int> square = x => x * x; // expression-bodied
Console.WriteLine(square(5));
  • Capture semantics: avoid capturing loop variables incorrectly.
  • Default lambda parameters in C# 12.