Choisissez votre langue
Cours C# niveau avancé
Plus de 2 millions d'étudiants dans le monde

Cours C# niveau avancé

Faites passer vos compétences en C# de compétent à expert avec un programme qui couvre les fonctionnalités les plus puissantes et exigeantes du langage. Vous maîtriserez la programmation asynchrone, les génériques, LINQ, la concurrence, l'optimisation des performances et la métaprogrammation — les compétences exactes qui distinguent les ingénieurs seniors des autres. Chaque sujet est ancré dans une application concrète, vous fournissant des outils utilisables immédiatement.

Dedika pour les entreprises

Ce que vous allez apprendre:

Ce cours couvre les sujets avancés de C#, notamment la machine d'état async/await, la concurrence basée sur les tâches et les primitives de synchronisation des threads. Vous apprendrez à concevoir des API génériques avec des contraintes de type et de variance, à écrire du code hautes performances à l'aide de Span et de pointeurs non sécurisés, et à créer des outils de métaprogrammation avec la réflexion et les générateurs de sources. Le programme couvre également les mécanismes internes de LINQ, les opérateurs de requête personnalisés, l'architecture d'injection de dépendances et les patrons de conception implémentés en C# moderne. Vous acquerrez des compétences pratiques en tests unitaires et d'intégration, en configuration de pipeline CI/CD et en techniques de refactorisation de code propre.

Comment vous étudiez de façon pratique Cours C# niveau avancé

Comment vous pratiquez Cours C# niveau avancé

Pour vous, entreprise, qui souhaitez former votre équipe

Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre activité et aux besoins spécifiques de votre entreprise.

Cliquez ici

Contenu du cours

8 Chapitres • 33 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

Notions fondamentales du langage C#

  • Leçon 1 • Éléments essentiels de la syntaxe C# moderne

    Présente les bases de la correspondance de formes, les enregistrements, les setters init-only et les instructions de niveau supérieur. Assure une aisance avec les idiomes C# contemporains utilisés dans tous les exemples ultérieurs.

  • Leçon 2 • Gestion de la mémoire et ramasse-miettes

    Explique les générations du GC .NET, la finalisation et le modèle IDisposable. Prépare les étudiants à écrire du code avec une gestion sûre des ressources tout au long du cours.

  • Leçon 3 • Principes objet en C#

    Examine l'héritage, le polymorphisme, l'encapsulation et l'abstraction dans la syntaxe C#. Fournit la base POO dont dépendent les chapitres sur les patrons avancés et les génériques.

  • Leçon 4 • Exploration approfondie du système de types

    Couvre les types valeur, les types référence, le boxing et la hiérarchie de types unifiée. Établit la compréhension du modèle mémoire nécessaire pour les chapitres axés sur les performances à venir.

Chapitre 2Voir les détails

Génériques et système de paramètres de type

  • Leçon 1 • Covariance et contravariance

    Explique les annotations de variance out et in sur les interfaces et délégués génériques. Permet une compatibilité d'affectation sûre entre les types génériques liés.

  • Leçon 2 • Collections génériques et algorithmes

    Examine List, Dictionary, HashSet et les types de collections immuables avec des algorithmes génériques. Relie la théorie des génériques à l'utilisation quotidienne des structures de données.

  • Leçon 3 • Types génériques et méthodes

    Définit les classes, structures, interfaces et méthodes génériques avec des paramètres de type. Construit le vocabulaire pour tous les sujets sur les contraintes et la variance qui suivent.

  • Leçon 4 • Contraintes de type

    Couvre les clauses where incluant les contraintes class, struct, new(), interface et unmanaged. Permet des contrats d'API précis qui empêchent les mauvaises utilisations à la compilation.

Chapitre 3Voir les détails

Délégués, événements et patrons fonctionnels

  • Leçon 1 • Expressions lambda et fermetures

    Explique la syntaxe lambda, les variables capturées, la sémantique des fermetures et les pièges courants. Permet directement LINQ et la composition fonctionnelle abordées dans les sections suivantes.

  • Leçon 2 • Techniques de composition fonctionnelle

    Présente le curryfication, l'application partielle, les patrons de pipeline et les arbres d'expression en tant que données. Prépare les étudiants pour les sujets avancés de LINQ et de métaprogrammation à venir.

  • Leçon 3 • Événements et patron Observateur

    Enseigne la déclaration d'événements, les conventions EventHandler, les accesseurs d'événements personnalisés et la sécurité des threads. Relie les mécanismes des délégués au modèle d'événements standard .NET.

  • Leçon 4 • Délégués et invocation multicast

    Couvre la déclaration, l'instanciation, le chaînage multicast et la sémantique d'invocation des délégués. Établit le modèle d'exécution sur lequel les lambdas et les événements sont construits.

Chapitre 4Voir les détails

LINQ et composition de requêtes

  • Leçon 1 • Opérateurs LINQ fondamentaux

    Examine les opérateurs de filtrage, projection, tri, regroupement, jointure et agrégation. Fournit le vocabulaire des opérateurs utilisé dans toute requête LINQ réelle.

  • Leçon 2 • IQueryable et arbres d'expression

    Explique comment IQueryable traduit LINQ en requêtes distantes via des arbres d'expression. Fait le pont entre LINQ en mémoire et les scénarios de sources de données distantes ou ORM.

  • Leçon 3 • Opérateurs LINQ personnalisés et optimisation

    Enseigne l'écriture de méthodes d'extension personnalisées, de séquences paresseuses et l'évitement des motifs N+1. Achève la maîtrise de LINQ avec une conception de requêtes tenant compte des performances.

  • Leçon 4 • Fondamentaux de LINQ et modèle d'exécution

    Couvre la syntaxe de requête et la syntaxe de méthode, l'exécution différée ou immédiate et la sémantique des itérateurs. Établit le modèle mental nécessaire pour éviter les erreurs de performance courantes avec LINQ.

Chapitre 5Voir les détails

Programmation asynchrone avec async/await

  • Leçon 1 • Patrons asynchrones avancés

    Enseigne les flux asynchrones, IAsyncEnumerable, le fan-out asynchrone parallèle et l'initialisation asynchrone. Étend les compétences asynchrones aux scénarios de flux et concurrents.

  • Leçon 2 • Mécanismes de async et await

    Explique les machines à états générées par le compilateur, SynchronizationContext et ConfigureAwait. Permet d'écrire du code asynchrone correct dans les contextes d'interface utilisateur, ASP.NET et de bibliothèques.

  • Leçon 3 • Modèle asynchrone basé sur les tâches

    Présente Task, Task<T> et le contrat TAP incluant le statut, la continuation et les exceptions. Fournit la base pour tous les mécanismes async/await qui suivent.

  • Leçon 4 • Patrons d'annulation et de délai d'attente

    Couvre CancellationToken, CancellationTokenSource, les jetons liés et la composition de délais d'attente. Garantit que les étudiants peuvent intégrer l'annulation coopérative dans tout workflow asynchrone.

Chapitre 6Voir les détails

Programmation concurrente, threading et parallèle

  • Leçon 1 • Primitives de synchronisation

    Examine lock, Monitor, Mutex, Semaphore, ReaderWriterLockSlim et Interlocked. Fournit les outils pour prévenir les situations de compétition et coordonner l'accès à l'état partagé.

  • Leçon 2 • Bibliothèque parallèle de tâches et PLINQ

    Enseigne Parallel.For, Parallel.ForEach, PLINQ et les stratégies de partitionnement pour le parallélisme de données. Permet une distribution efficace des charges de travail liées au processeur sur les cœurs.

  • Leçon 3 • Notions fondamentales du threading

    Couvre la création de threads, ThreadPool, le cycle de vie des threads et le stockage local aux threads. Établit le modèle de threading de bas niveau sur lequel les abstractions de plus haut niveau sont construites.

  • Leçon 4 • Collections concurrentes

    Examine ConcurrentDictionary, ConcurrentQueue, ConcurrentBag et BlockingCollection. Remplace le verrouillage manuel par des structures de données thread-safe spécialisées.

  • Leçon 5 • Éviter les bugs de concurrence

    Identifie les interblocages, les vivacités, les situations de compétition et les problèmes de visibilité mémoire avec des stratégies d'atténuation. Achève le chapitre sur la concurrence avec des pratiques de conception défensive.

Chapitre 7Voir les détails

Réflexion, attributs et métaprogrammation

  • Leçon 1 • Fondamentaux de l'API de réflexion

    Couvre Assembly, Type, MethodInfo, PropertyInfo et l'invocation dynamique de membres. Fournit les outils d'introspection à l'exécution utilisés dans les frameworks et les sérialiseurs.

  • Leçon 2 • Code dynamique avec des arbres d'expression

    S'appuie sur les connaissances précédentes des arbres d'expression pour compiler des délégués à l'exécution avec des performances élevées. Fait le pont entre la flexibilité de la réflexion et la vitesse d'exécution quasi-native.

  • Leçon 3 • Générateurs de source

    Présente les générateurs de source incrémentiels basés sur Roslyn, les récepteurs syntaxiques et les classes partielles générées. Déplace la métaprogrammation de l'exécution vers la compilation pour des abstractions sans surcoût.

  • Leçon 4 • Attributs personnalisés

    Enseigne la définition, l'application et la lecture d'attributs personnalisés avec le contrôle AttributeUsage. Permet des conceptions pilotées par métadonnées déclaratives utilisées dans les frameworks de validation et de mappage.

Chapitre 8Voir les détails

Optimisation des performances et code non sécurisé

  • Leçon 1 • Profilage et analyse comparative

    Applique BenchmarkDotNet, les profileurs mémoire et les traces ETW pour mesurer et valider les optimisations. Clôt le chapitre sur les performances avec un flux de travail rigoureux piloté par les mesures.

  • Leçon 2 • Code non sécurisé et pointeurs

    Enseigne le mot-clé unsafe, les instructions fixed, l'arithmétique de pointeurs et la mémoire non managée. Permet l'interopérabilité avec les bibliothèques natives et les boucles internes à performances maximales.

  • Leçon 3 • Span<T> et Memory<T>

    Couvre Span<T> en tant que tranche réservée à la pile, Memory<T> pour les contextes asynchrones et MemoryPool<T>. Permet la manipulation de tampons sans copie dans les scénarios d'analyse et d'E/S.

  • Leçon 4 • Réduction des allocations

    Identifie les points chauds d'allocation en utilisant le pooling d'objets, ArrayPool<T>, la conception de structures et les retours par référence. Réduit directement la pression du GC dans les applications à haut débit.

Certification

Votre certificat valide de réussite

Ce cours est fait pour vous :

  • Développeur C# de niveau intermédiaire : prêt à relever des défis d'ingénierie complexes en production.

  • Ingénieur .NET back-end : souhaite approfondir sa connaissance du runtime et des mécanismes internes du langage.

  • Développeur logiciel migrant vers C# : apporte de l'expérience et doit combler des lacunes avancées.

  • Développeur freelance : construit des applications client sophistiquées nécessitant un code hautes performances.

  • Diplômé en informatique : entre sur le marché du travail et vise un niveau senior.

  • Responsable technique : cherche à standardiser les pratiques avancées de C# au sein de son équipe d'ingénierie.

Ce que disent nos apprenants

Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

Formations principales

FAQ

Qui est Dedika ?

Le certificat est-il valable en France ?

Les cours sont-ils gratuits ?

Quelle est la charge de travail des cours ?

Comment sont les cours ?

Comment fonctionnent les cours ?

Quelle est la durée des cours ?

Quel est le coût ou le prix des cours ?

Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?

Cours PDF