Comprendre .NET et les technologies associées
- Présentation de .NET
- Les langages du framework .NET
- Particularités du C#
- Evolutions du C#, plateformes supportées
- Environnement de développement
- Types de projets : console, bibliothèque, WinForms, WPF, WCF,...
- Structure minimale d'un programme C#
Atelier : création d'un premier projet minimaliste
Utiliser Visual Studio pour développer une application
- Création d'une solution / d'un projet : les fichiers générés
- Les fenêtres usuelles (explorateur de solution, team explorer, sortie, pile des appels, espions...)
- Le débug (pas à pas, pile, espions, point d'arrêt conditionnel...)
- La gestion de version avec Git (création d'un dépôt local, d'un dépôt distant, actions de bases - add, commit, push, pull, historisation)
Atelier : Manipulation de l'environnement de développement - exemples de programmes C#
Utiliser la syntaxe de base
- Variables : déclaration, types communs (Common Type System)
- Organisation en mémoire (types primitifs / types références)
- Opérateurs
- Conversion de types : transtypage implicite / explicite
- Instructions conditionnelles
- Instructions d'itération, les boucles
Atelier : Multiples exemples d'applications
Utiliser des tableaux
- Principe de fonctionnement
- Création de tableaux quelconques
- Tableaux multidimensionnels et parcours
Atelier : Déclaration et manipulations de tableaux
- Construire des méthodes et utiliser des paramètres
- Introduction au procédural : définition, intérêt
- Types et retours de fonctions
- Passage de paramètres :
- - par valeur
- - par référence : (ref, out)
- - arguments variables (params)
- Surcharge de méthodes
- Récursivité : définition, implémentation
Atelier : Découpage de l'application
Gérer des exceptions
Atelier : Gestions des erreurs de saisie, remontées d'exceptions
Apprendre l'objet
- Définition de classes
- Déclaration des membres d'instance / de classe (static)
- Constructeurs et instanciation
- Cycle de vie d'un objet en mémoire
- Diagramme de classes (UML)
- Agrégation d'objets (association)
- Encapsulation : attributs et propriétés
- Extension de classes (Héritage)
- Comparaison d'objets
- Classes abstraites
- Interfaces et implémentation
- Polymorphisme
Atelier : Modélisation de problèmes en objet
Utiliser les classes fondamentales à disposition
Atelier : Manipulation de collections et de flux