Objectifs pédagogiques / Compétences visées
- Concevoir une application basée console en utilisant .NET Core
- Utiliser Visual Studio pour créer, déboguer et organiser ses projets
- Utiliser toutes les fonctionnalités du langage C#
- Définir la programmation orientée objet.
Niveau requis
Avoir des connaissances de base sur la programmation algorithmique (manipulation des instructions conditionnelles, boucles, tableaux...).
Public concerné
Développeurs ayant déjà une expérience dans la programmation.
Programme
Jour 1
Introduction
- Présentation et rôle du .NET Core
- .NET Framework et .NET Standard
- CLR (Common Language Runtime )
- Les assemblys
- Compilation JIT (Just In Time)
- Common Type System (CTS)
- Nuget
- Le garbage collector
- Les différentes versions du .NET Core
- Exécutables dépendant du framework (FDE)
- Exécutable monofichier
- Liaison d'assembly
- Tiered / ReadyToRun images
Exemple de travaux pratiques (à titre indicatif)
- Décompilation d'un assembly
Visual studio
- Introduction
- Les différentes éditions de Visual Studio
- Concept de projet / solution
- Personnalisation des projets pour les applications .NET Core
- Le débogueur
- Utilisation de nuget
Exemple de travaux pratiques (à titre indicatif)
- Découverte de Visual Studio
Le langage C#
- Application console
- Vue d'ensemble des types communs
- Les chaînes de caractères
- Les instructions conditionnelles
- Les boucles
- Les exceptions
Exemple de travaux pratiques (à titre indicatif)
- Création d'une application console
Jour 2
L'héritage
- Concept de base
- Le polymorphisme
- Les opérateurs "is" et "as"
- Redéfinition des méthodes et des propriétés
- Appeler la méthode ou la propriété de la classe de base
- Les classes abstraites
- Les classes scellées
- Les interfaces
- La classe de base : "object"
Exemple de travaux pratiques (à titre indicatif)
- Utilisation de l'héritage
Les fonctionnalités avancées de C#
- Les délégués
- Les évènements
- "Object initializer"
- "Local variable type inference"
- Typage des tableaux implicites
- Les types anonymes
- Les méthodes anonymes
- Les expressions lambda
- Les méthodes d'extensions
- Les "generics"
- Les collections
- Property / tuples patterns
- Positional patterns
- Index et plages
- Types références nullables
Exemple de travaux pratiques (à titre indicatif)
- Utilisation des délégués, méthodes anonymes, expressions lambda et méthodes d'extensions
Jour 3
LINQ (Language Integrated Query)
- Introduction
- Les méthodes d'extensions LINQ
- Le langage LINQ intégré au C#
Exemple de travaux pratiques (à titre indicatif)
- Utilisation de LINQ
Quelques API du .NET Core
- Les flux
- L'encodage
- Les BinaryReader et les BinaryWriter
- Les flux de caractères
- Concept de sérialisation
- Logger l'exécution de son application
Exemple de travaux pratiques (à titre indicatif)
- Lecture d'un fichier texte et écrit d'un fichier binaire
Jour 4
TPL (Task Parallel Library )
- Introduction
- Les threads
- La classe Parallel
- Les tâches
- Parallel LINQ (PLINQ)
- L'asynchronisme
- Les flux asynchrones
Exemple de travaux pratiques (à titre indicatif)
- Utilisation des bibliothèques de tâches
Accès aux données
- Avant ADO.NET ADO.NET
- La classe DbConnection
- La classe DbCommand
- La classe DbDataReader
- La classe DbDataAdapter
- Généricité des objets ADO.NET
- ADO.NET avec SQL Server 2019
- Introduction à Entity Framework
Exemple de travaux pratiques (à titre indicatif)
- Lecture et écriture dans une base de données SQL Server
Jour 5
Manipulation de données aux formats XML et JSON
- Introduction
- Lire un contenu JSON
- Générer un contenu JSON
- Lire un contenu XML
- Générer un contenu XML
- LINQ to XML
Exemple de travaux pratiques (à titre indicatif)
- Lecture d'un fichier XML en utilisation la désérialisation
Utilisation de Web Services
- Introduction
- La bibliothèque HttpClient
Exemple de travaux pratiques (à titre indicatif)
- Consommation d'un Web Service pour récupérer la météo
Certification (en option)
- Prévoir l'achat de la certification en supplément
- L'examen (en français) sera passé le dernier jour, à l'issue de la formation et s'effectuera en ligne
- Il s'agit d'un QCM dont la durée moyenne est d'1h30 et dont le score obtenu attestera d'un niveau de compétence
- La certification n'est plus éligible au CPF depuis le 31/12/2021, mais permettra néanmoins de valider vos acquis
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation ou une certification (M2i ou éditeur)