Course Advanced C# Programming

In the Advanced C# Programming course, participants deepen their knowledge of modern C# features such as asynchronous programming, LINQ, dependency injection, reflection, and performance optimization.

Region:
  • Content
  • Training
  • Modules
  • General
    General
  • Reviews
  • Certificate
  • Course Advanced C# Programming : Content

    Advanced C# Language Features

    The course starts by exploring advanced language features such as nullable reference types, records, enhanced pattern matching, local functions, dynamic types, and advanced string handling.

    Delegates, Events and Lambdas

    Participants dive into delegates, event handling, lambda expressions, multicast delegates, expression trees, asynchronous delegates, and practical usage patterns.

    Generics and Collections

    The focus is on using generics with constraints, covariance and contravariance, creating custom collections, working with immutable and concurrent collections, and advanced dictionary techniques.

    LINQ and Functional Programming

    Participants learn LINQ query and method syntax, deferred execution, custom operators, and the basics of functional programming including immutability and higher-order functions.

    Asynchronous and Parallel Programming

    This module covers async/await, Task Parallel Library (TPL), ValueTask optimizations, cancellation tokens, deadlock prevention, and working with IAsyncEnumerable for async streams.

    Dependency Injection and Testing

    Participants learn about dependency injection patterns, mocking and testing with frameworks like Moq, applying TDD, and managing services correctly in .NET Core applications.

    Reflection, Attributes and Dynamic Programming

    This module focuses on reflection, dynamic loading of assemblies, working with attributes, dynamic object creation, late binding, and practical use cases for reflection.

    Memory Management and Performance

    Participants gain insight into garbage collection internals, the dispose pattern, memory profiling, object pooling, stackalloc optimization, and improving async performance.

    Advanced Topics and Best Practices

    Finally, the course covers exception handling best practices, logging, using source generators, global using statements, native code interoperability, and writing clean, maintainable code.

  • Course Advanced C# Programming : Training

     

    Audience Advanced C# Programming Course

    The Advanced C# Programming course is intended for experienced C# developers who want to deepen their expertise and master modern C# language features.

    Prerequisites Advanced C# Programming Course

    Solid knowledge of C# and .NET, experience with object-oriented programming, and familiarity with basic asynchronous programming concepts are required.

    Training Execution Advanced C# Programming

    The training consists of interactive theory sessions combined with live demonstrations and extensive hands-on labs under the guidance of an experienced trainer.

    Certificate Advanced C# Programming

    Participants will receive a certificate of completion for the Advanced C# Programming course after successfully completing the training.

    Course C# Programming
  • Course Advanced C# Programming : Modules

    Module 1: Advanced C# Features

    Module 2: Delegates and Lambdas

    Module 3: Generics

    Nullable Reference Types
    Pattern Matching Enhancements
    Records and Value-Based Equality
    Tuples and Deconstruction
    Local Functions
    Target-Typed New Expressions
    Default Interface Methods
    Dynamic Types
    Using Span and Memory
    Advanced String Manipulation
    Delegates Deep Dive
    Multicast Delegates
    Events and Event Handling
    Anonymous Methods
    Lambda Expressions
    Expression Trees
    Func, Action, Predicate
    Event Aggregator Pattern
    Asynchronous Delegates
    EventHandler Usage
    Generic Methods and Classes
    Generic Constraints
    Covariance and Contravariance
    Collections Overview
    IEnumerable, ICollection, IList
    Custom Generic Collections
    Immutable Collections
    Concurrent Collections
    Collection Initializers
    Advanced Dictionary Usage

    Module 4: Functional Programming

    Module 5: Asynchronous Programming

    Module 6: Dependency Injection

    Introduction to LINQ
    Query Syntax vs Method Syntax
    LINQ to Objects
    Deferred vs Immediate Execution
    Custom LINQ Operators
    Func and Action in LINQ
    Functional Programming Concepts
    Immutability in C#
    Higher-Order Functions
    Pipeline and Fluent APIs
    Async and Await Deep Dive
    Task Parallel Library (TPL)
    ValueTask and Memory Optimization
    Parallel.For and Parallel LINQ
    Cancellation Tokens
    Exception Handling in Async Code
    SynchronizationContext
    Deadlocks and Best Practices
    Channels and Dataflow
    IAsyncEnumerable and Async Streams
    Principles of DI
    Service Lifetimes
    Constructor Injection
    Method Injection
    Property Injection
    Mocking and Stubbing
    Using Moq and NSubstitute
    Unit Testing Best Practices
    Test-Driven Development
    DI in .NET Core

    Module 7: Dynamic Programming

    Module 8: Memory Management

    Module 9: Advanced Topics

    Reflection Basics
    Loading Assemblies Dynamically
    Reading Metadata
    Custom Attributes
    Attribute Usage and Creation
    Dynamic Object Manipulation
    ExpandoObject
    Dynamic Keyword
    Late Binding
    Reflection Scenarios
    Garbage Collection in Depth
    Dispose Pattern and IDisposable
    Memory Profiling Tools
    Avoiding Memory Leaks
    Object Pooling
    Stackalloc and Span for Performance
    Performance Profiling
    Async Performance Optimization
    BenchmarkDotNet for Microbenchmarks
    High-Performance C# Coding
    Best Practices for Exceptions
    Logging and Monitoring
    Code Analysis Tools (Roslyn)
    Source Generators
    Global Using Statements
    Nullable Contexts Best Practices
    Minimal APIs
    Working with Files and Streams
    Native Code Interoperability
    Writing Clean Code
  • Course Advanced C# Programming : General

    Read general course information
  • Course Advanced C# Programming : Reviews

  • Course Advanced C# Programming : Certificate