Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr

Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros

Chapitre 14: Les mécanismes utilisables dans C#


Chapitre 13<     > Chapitre 15


Exemples: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Table des matières:

Les pointeurs et les zones de code non vérifiable
       Option de compilation pour le mode d'exécution non vérifiable
        Déclaration d'une zone de code non vérifiable

Manipulation des pointeurs en C#
       Les types que l'on peut pointer
       Déclaration des pointeurs
       Opérateurs d'indirection et de déréférencement
        L'opérateur sizeof
       Arithmétique des pointeurs
        Casting de pointeurs
       Pointeurs de pointeurs
        Nécessité d'épingler les objets en mémoire
       Les pointeurs et les tableaux
        Les tableaux fixés de taille fixe
        Réservation de mémoire sur la pile avec stackalloc
       Chaîne de caractères et pointeurs

Les exceptions et le traitement des erreurs
       La problématique: Gérer toutes les erreurs dans un programme
        Principe de la gestion des exceptions

Objet associé à une exception et lancement de vos propres exceptions
       La classe System.Exception
       Définition de vos propres classes d'exceptions
       Lancement d'exceptions dans vos propres méthodes
       Pas d'exceptions contrôlées en C#

Le gestionnaire d'exceptions et la clause finally
       Remarques sur la clause catch
       La clause finally
       Améliorer la sémantique d'une exception

Exceptions lancées dans un constructeur ou dans la méthode Finalize()
       Exception lancée dans un constructeur d'instance
       Exception lancée dans un constructeur statiqueou lors de l'initialisation d'un champ statique
       Exception lancée dans la méthode Finalize()

Le CLR et la gestion des exceptions
       Exceptions non gérées

Les exceptions et l'environnement Visual Studio

Conseils d'utilisation des exceptions
       Quand lancer une exception?
       Que faire lorsque l'on rattrape une exception?
       Quand rattraper une exception?
       Exceptions vs. code retour
       Ne pas sous estimer les bugs dont les conséquences sont rattrapées

Les méthodes anonymes
        Introduction aux méthodes anonymes de C#2
       Méthodes anonymes et arguments
       Une subtilité syntaxique
       Les méthodes anonymes et la généricité
       Exemples simples d'utilisation des méthodes anonymes

Le compilateur C#2 et les méthodes anonymes
       Le cas simple
       Une méthode anonyme accède à une variable locale de la méthode qui l'encapsule
       Variable locale capturée et complexité du code
       Une méthode anonyme accède à un argument de la méthode qui l'encapsule
       Une méthode anonyme accède à un membre de la classe qui définit la méthode qui l'encapsule

Exemples avancés d'utilisation des méthodes anonymes
       Définitions: fermeture (closure en anglais) et environnement lexical
       Un peu plus loin dans la compréhension des fermetures
       Utilisation des fermetures
       Délégué et fermeture
       Méthodes anonymes et manipulation de collections

Les itérateurs avec C#1
       Comprendre les concepts d'énumérable et d'énumérateur
       Un exemple
       Plusieurs itérateurs sur une même classe
       Problèmes avec les itérateurs de C#1

Les itérateurs avec C#2
        Un premier exemple avec le mot-clé yield return
       Les itérateurs et la généricité
       Plusieurs itérateurs pour une même classe conteneur
        Le mot-clé yield break
       Contraintes syntaxique imposées par l'utilisation des mot-clés yield return et yield break
       Exemple d'un itérateur récursif

Interprétation des itérateurs par le compilateur de C#2
       La classe énumérateur est implémentée automatiquement par le compilateur
       Une machine à état est fabriquée pour chaque énumérateur

Exemples avancés de l'utilisation des itérateurs de C#2
       Définitions: coroutine et de continuation
       Un exemple de continuation avec les itérateurs
       Le pattern Pipeline
       Continuation vs. Threading
       Une limitation des itérateurs C#2


Copyright Patrick Smacchia 2006 2007