Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

LinkedIn Learning

Advanced C#: Functional Programming Patterns

via LinkedIn Learning

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Learn how to leverage the functional programming (FP) features in C# to add FP to your code.

Syllabus

Introduction
  • Functional programming patterns
  • What you should know
  • Working with GitHub
1. Overview
  • Overview of the functional programming concepts?
2. Favor Pure Functions
  • Write pure functions for better code
  • Example of an impure function
  • Refactor impure function to pure
  • Reduce code side effects
  • Don't mutate input arguments
  • Use an immutable argument
3. Immutable Types
  • Principles of immutable types
  • Read-only properties
  • Instance method in immutable type
  • Use helper methods to create new instance
  • Use factory method to create instance
4. Side Effects and I/O
  • Work with files
  • Calculate the total in pure function
  • Randomness in functional programming
5. Choose Expressions
  • Why expressions are better for functional programs
  • Rewrite statements as expressions
6. Functional Functions
  • Use Func for first-class functions
  • Higher order functions
7. Function Composition and Pipelining
  • Composition patterns
  • Compose functions
  • Pipelining with extension methods
  • Pipelining with generic methods
  • Pipelining with IEnumerable
8. Work with Lists
  • Understand map and other concepts
  • Map with LINQ select
  • Filter with LINQ where
  • Flatten with SelectMany
  • Join with SelectMany
  • Fold with Sum and Aggregate
Conclusion
  • Next steps

Taught by

Walt Ritscher

Reviews

4.6 rating at LinkedIn Learning based on 195 ratings

Start your review of Advanced C#: Functional Programming Patterns

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.