Programmer avec C#
Description
Le langage C# est le langage de programmation orienté Objet le plus complet de la plateforme .NET. Simple et élégant, il est à la fois efficace et facile d'accès et peut donc être assimilé par tous.
Objectifs
A l'issue de cette formation, les participants seront en mesure de:
- Utiliser les types de données et instructions C#
- Créer des classes et mettre en oeuvre le polymophisme
- Compiler, exécuter et mettre au point une application
Méthodes pédagogiques
Formation avec un minimum de 50% de travaux pratiques. La session alterne les présentations théoriques avec les exercices en groupe ou individuels. Des versions numériques de tous les documents sont remises aux participants (support de cours, énoncés, corrigés).
Participants
Ce cours s'adresse aux développeurs désireux de s'initier au langage C#.
Pré requis
- La connaissance des concepts Objet et la pratique de la programmation sont nécessaires.
- La connaissance d'un langage Objet (C++, Java, ...) est un plus, mais n'est pas obligatoire.
Programme
Introduction
- Motivations ayant présidé à la création du langage
- Normalisation et aspects propriétaires
- Concepts de base: machine virtuelle, gestion mémoire, ...
- Positionnement par rapport aux langages comparables et cas d'usage
Mise en pratique: analyse d'un premier programme C# fourni.
Bases du langage C#
Aspects syntaxiques, types de données et instructions du langage.
- Expressions, types et variables
- Typage fort et inférence de type
- Boucles et conditions
- Espaces de nommage
Mise en pratique: réalisation d'applications procédurales mettant en oeuvre les concepts présentés.
Principes Objet appliqués en C#
Ce module aborde la programmation Objet avec C#.
- Définition d'une classe avec variables d'instances et opérations
- Propriétés, Indexeurs, Structures
- Héritage et polymorphisme
- Interfaces
Mise en pratique: utilisation des propriétés avec génération des variables d'instances, réalisation d'applications basées sur le polymorphisme.
Notions avancées du langage C#
Mécanismes avancés et spécifiques du langage.
- Evènements, Delegates
- Enumérations, Attributs
- Contrôle fin du polymorphisme
- Cycle de vie des objets et allocation sur le tas ou sur la pile
Mise en pratique: utilisation du mécanisme de delegate.
Généricité
Présentation des mécanismes de programmation générique C#
- Concept de généricité
- Utilisation d'une classe générique
- Définition d'une classe générique
- Contrôles sur les types à l'instanciation (where)
Mise en pratique: création d'une classe générique.
Gestion des exceptions en C#
La gestion d'erreurs par exceptions.
- Principe des exceptions
- Le bloc try / catch
- Le bloc finally
Mise en pratique: utilisation des exceptions.
Lambda-expressions
La programmation fonctionnelle en C#.
- Principes de programmation fonctionnelle
- Définition et utilisation d'une lambda-expression
Mise en pratique: déclaration et appel de lambda-expressions.
Introduction au framework de base (Unified BCL)
Présentation de quelques mécanismes et classes de base (Unified BCL)
- Tour d'horizon sur l'ensemble des classes
- Structures de données (Collections)
Mise en pratique: utilisation de structures de données (Collections).