Functional Programming in C# (CNETW2)

Microsoft, Programming

The course presents the modern trend of functional programming and its practical use in C# 10+. It targets experienced developers who want to broaden their approach, learn the functional paradigm, and apply immutable and composable design patterns.

The program covers functional features available in modern C#, such as advanced LINQ, records, and improved pattern matching. You will see refactorings to a functional style, learn when to favor immutable models, and explore functional libraries and next steps to F#.

THIS TRAINING COURSE WILL HELP YOU:

  • Apply functional idioms in C# projects
  • Refactor imperative code to a functional style
  • Use advanced LINQ and pattern matching effectively
  • Choose libraries and plan migration towards F#

WHO SHOULD ATTEND?

  • Experienced C# developers seeking new paradigms
  • Software architects and lead developers
  • Developers moving from OOP to functional design

COURSE LOCATION AND AVAILABLE DATES



Public courses are usually delivered in Czech, but this course is also available in English. We can arrange private training for your team online, at your premises or in our classrooms, and tailor the content to your needs.

For groups of around 4 or more participants, private training can already be comparable in price to booking individual places on a public course. Send us your requirements and we’ll recommend the best format and provide an exact quote.

Request training in English

Course content:

Hide details
  • Contents
    1. Introduction to functional programming
    2. Principles of functional programming
    3. Functional vs. OOP approach
  • Functional aspects and elements in modern C#
    1. Advanced LINQ techniques
    2. Records
    3. Proper use of properties
    4. Pattern matching improvements
    5. Examples of refactoring code to a functional style
    6. Functional libraries for C#
    7. Where to next — moving from C# to F#
Prerequisites:
Knowledge of C#.
Schedule:
2 days (9:00-17:00)

Training and learning environment