Langage C# avec Visual Studio
Description
Cette formation intensive sur le langage C# et le Framework .NET vous
permettra de maîtriser les fondamentaux et la syntaxe du langage C# en
utilisant l'environnement de programmation Visual Studio. S’appuyant sur
des exemples concrets, la plateforme .NET vous sera également présentée
afin de bien comprendre l'environnement global sur lequel repose le langage
C#.
Public concerné
Cette formation s'adresse aux Développeurs débutants, Développeurs maîtrisant la programmation via un autre langage, Développeurs d'applications d'entreprises.
Objectifs de la formation
Cette formation sur le langage C# 7 et le Framework .NET vous permettra de maîtriser les fondamentaux et la syntaxe du langage C# en utilisant l'environnement de programmation Visual Studio 2017. S’appuyant sur des exemples concrets, la plateforme .NET vous sera également présentée afin de bien comprendre l'environnement global sur lequel repose le langage C#.
Prérequis
Une experience de programmation orientée objet.
Programme de la formation
Introduction à .Net et à Visual Studio 2017
- Comprendre le vocabulaire et la philosophie des technologies .NET (.NET, ASP.NET, MVC, ADO.NET, Entity Framework)
- Une évolution de .NET vers .NET Core ou une séparation ?
- La place de C# dans l'architecture globale de .NET 4.7
- Les différences entre C# et VB .net
- L’architecture détaillée de .NET (CLR, BCL, compilation Just In Time, etc.)
- Les différentes familles d’applications .NET 4.7
- Les différents projets proposés par Visual Studio 2017
- Comparaison de C# avec d'autres langages (Java, C++...)
La programmation en C# 7
- Le modèle Objet avec le langage C# 7
- Classes et objets : notion de méthode
- Code géré et gestion de la mémoire
- Héritage, surcharge et polymorphisme
- Propriétés, indexeurs et énumérateurs
- Expression d'initialisation, types anonymes, propriétés automatiques, méthodes d'extension, méthodes partielles et lambda expressions
- Utilisation des "Generics"
- Les Dynamic, Paramètres optionnels et paramètres nommés, Interopérabilité COM améliorée, Co et Contra variance
- Les fonctions avancées du C#7 : appel synchrone et asynchrone, paramètres optionnels, résolution des types génériques, propagation de null, interpolation de chaîne...
Les classes incontournables du Framework .NET
- Classes mathématiques, structures usuelles, gestion des dates
- Gestion du formatage des chaînes
- Filtrer l'information grâce aux expressions régulières
- Conteneurs classiques : listes, listes triées, piles et tables de hashag Les entrées / sorties
- Maîtriser l’encodage des données à travers ses règles et ses formats (ascii, utf-8, etc.)
- Exemples de problèmes couramment rencontrés (saut de lignes, accents, etc.)
- Convertisseurs de formats de texte
- Notion de flux, FileStream/StreamWriter/StreamReader
- Gestion des entrées/sorties synchrones/asynchrones
Les principes d'ADO .Net
- Notion de classe client / classe fournisseur en C#7
- Les classes ADO.Net fournis par C#7
- Choisir d'accéder aux données avec DataReader ou DataSet ?
- La nouvelle philosophie de LINQ
- Un niveau d’indépendance supplémentaire avec ADO.Net Entity Framework (principes) La programmation avancée
- Exceptions : gestion centralisée des erreurs, classes d'exceptions personnalisées, exceptions non- .Net
- Délégués : délégués et évènements, les délégués comme alternative au polymorphisme
Fenêtres, menus, et composants avec les Windows Forms
- Présentation des WinForms
- Les spécificités de ce type de programmation
- Formulaires hérités et contrôles utilisateur
- Différents types de contrôles, menus contextuels (popup), presse-papier
- Assemblies de ressources
- Application multilingue
Configuration et déploiement
- Configuration du déploiement
- Configuration de l'application
- Mise en place d'un paramétrage utilisateur
- Internationalisation d'une application Winforms
- Utilisation de Windows Installer
- Utilisation de Click Once
Application WEB avec ASP.Net et C# 7
- Qu'est-ce qu'une application ASP.NET ?
- Principes des Web Services
- 7Exemples de Web Services en C# 7
- Introduction à une application portée en ASP.NET
- Nouveautés de C# 6/7 dans ASP.NET
- C#, ASP.NET et le modèle MVC
Evolutions du C# 7 et de Visual Studio 2017
- Les fonctions locales en C#7
- Retourner plusieurs valeurs depuis une fonction (tuples)
- Retour de fonction par référence
- Décomposer un objet (deconstruct)
- Pattern matching (correspondance de motifs)
- Les variables out
- La notation binaire
- Les spécialisations des projets avec Visual Studio 2017 (web, mobile, windows, jeux, …)
- Changement au niveau de l’éditeur de code
- Support avancé de Javascript (typescript 2.1, ES2016, …)
- Développement Web backend et frontend
- Outils pour XAML
- Outils .NET Core et Docker
- Support pour le développement mobile (Xamarin, Cordova, …)
- Support des tests unitaires sous Visual Studio 2017 (MsTest, Live Unit Testing)