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
Mécanisme d'exceptions, types
Capturer et traiter une exception (try/catch/finally)
Déclenchement d'exceptions (throw)
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
Notions sur les classes
Les chaînes de caractères, les dates,...
Les listes et collections diverses, algorithmes
L'accès aux fichiers et les flux
Atelier: Manipulation de collections et de flux