Functional Programming in C#

Learn how to write better C# code

Functors in C#

Functors and Monads

Functors are containers that have value and if you apply a function to that value you get the same kind of container with the value inside of it transformed. Read More
Functional programming in C# and Higher-Order Functions

Higher-Order functions

Higher order functions takes one or more functions as arguments, or returns a function, or both. Read More
Functional programming style relies on expressions

Expressions vs Statements

One fundamental difference between imperative and functional style is that the first one relies heavily on statements to accomplish everything, while functional code relies on expressions. Read More
Pure functions have no side effects

Pure functions

Pure function is function with no side effects and its result is determined only by the input arguments. Read More

Honest functions

The signature of an honest function must convey all information about the possible input values and the possible outcome it may produce. Read More

Functional features of C#

C# is an object-oriented language at its core, but it also has very good support for some functional programming techniques. Read More

Getting started with functional programming in C#

Functional programming is a programming paradigm – a different style of building programs than the imperative. Read More