Abstract
Most of the new features of C# 3.0 opened up a world of expressive functional programming to the C# programmer. Functional programming, in its pure form, is a programming methodology built on top of immutable variables (sometimes called symbols), functions that can produce other functions, and recursion, just to name a few of its foundations. Some prominent functional programming languages include Lisp, Haskell, F#,1 and Scheme.2 However, functional programming does not require a pure functional language, and one can use and implement functional programming disciplines in traditionally imperative languages such as the C-based languages (including C#). The features added in C# 3.0 transformed the language into a more expressive hybrid language in which both imperative and functional programming techniques can be utilized in harmony. Lambda expressions are arguably the biggest piece of this functional programming pie.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
F# is an exciting new functional programming language for the.NET Framework. For more information, I invite you to read Robert Pickering’s Foundations of F# (Berkeley, CA: Apress, 2007).
One of the languages that I use often is C++. Those of you that are familiar with metaprogramming in C++ are definitely familiar with functional programming techniques. If you do use C++ and you’re curious about metaprogramming, I invite you to check out David Abrahams’ and Alexey Gurtovoy’s most excellent book C++ Template Metaprogramming (Boston: Addison-Wesley Professional, 2004).
Rights and permissions
Copyright information
© 2010 Trey Nash
About this chapter
Cite this chapter
Nash, T. (2010). Lambda Expressions. In: Accelerated C# 2010. Apress. https://doi.org/10.1007/978-1-4302-2538-6_15
Download citation
DOI: https://doi.org/10.1007/978-1-4302-2538-6_15
Publisher Name: Apress
Print ISBN: 978-1-4302-2537-9
Online ISBN: 978-1-4302-2538-6
eBook Packages: Professional and Applied ComputingApress Access BooksProfessional and Applied Computing (R0)