Genauso wie LINQ wurden auch Lambda Expressions in C# mit dem .NET Framework 3.5 eingeführt.
Diese haben viele Vorteile. Unter anderem haben sie den Syntax von anonymen Methoden vereinfacht und bieten eine flexiblere Nutzung. Des weiteren können sie genutzt werden um LINQ Abfragen auszuführen.

Beispiel:

 IEnumerable query = from names in nameList where names.forename[0].ToString().ToLower() == "s" select names; 

Ich frage hier ganz einfach ab, welcher Vorname in der List mit einem s beginnt (unabhängig von Groß-/Kleinschreibung).
Schneller und schöner geht es mit Lambda Ausdrücken:
Wir benötigen wieder ein IEnumerable als „Platz“ für unsere gefundenen Einträge.

  IEnumerable v = nameList.Where(name => name[0].ToString().ToLower() == "s"); 

Jetzt fragen wir ab, wo(Where) sich (in der List nameList) Einträge befinden, die mit einem s beginnen (auch hier unabhängig von der Orthografie).

Der => (Operator Lambda) wird genutzt um die Eingangsvariable (name) vom Lambdaausdruck zu trennen