Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Functional C#
  • Toc
  • feedback
Functional C#

Functional C#

By : Wisnu Anggoro
5 (3)
close
Functional C#

Functional C#

5 (3)
By: Wisnu Anggoro

Overview of this book

Functional programming makes your application faster, improves performance, and increases your productivity. C# code is written at a higher level of abstraction, so that code will be closer to business requirements, abstracting away many low-level implementation details. This book bridges the language gap for C# developers by showing you how to create and consume functional constructs in C#. We also bridge the domain gap by showing how functional constructs can be applied in business scenarios. We’ll take you through lambda expressions and extension methods, and help you develop a deep understanding of the concepts and practices of LINQ and recursion in C#. By the end of the book, you will be able to write code using the best approach and will be able to perform unit testing in functional programming, changing how you write your applications and revolutionizing your projects.
Table of Contents (12 chapters)
close

Dissecting pattern matching in functional programming

In functional programming, pattern matching is a form of dispatch to choose the correct variant of the functions to be called. It's actually inspired by a standard mathematical notation with the syntax to express conditional execution. We can start our discussion on matching pattern by borrowing the code from Chapter 1, Tasting Functional Style in C#, when we talked about recursion. The following is the GetFactorial() functional we used to retrieve a factorial value:

public partial class Program 
{ 
  private static intGetFactorial(intintNumber) 
  { 
    if (intNumber == 0) 
    { 
      return 1; 
    } 
    returnintNumber * GetFactorial(intNumber - 1); 
  } 
} 

As we can see in the preceding code, it gives us two definitions. In this case, the dispatcher is chosen based on whether the actual intNumber parameter pattern matches 0 or not. The use of the pattern matching are closer to this if conditional expression since we...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech
bookmark search playlist font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete