C# 8 et Visual Studio 2019
Les fondamentaux du langage
Ce livre s'adresse aux développeurs souhaitant maîtriser le développement d'applications .NET avec le langage C# dans sa version 8.Après un tour d'horizon de la plateforme .NET et une description des outils fournis par l'environnement Visual Studio 2019, le lecteur découvrira [...]
[lire le résumé du livre]
Auteur : Sébastien PUTIER
Editeur : Eni
Date parution : 01/2020Quel est le sujet du livre "C# 8 et Visual Studio 2019"
Ce livre s'adresse aux développeurs souhaitant maîtriser le développement d'applications .NET avec le langage C# dans sa version 8.
Après un tour d'horizon de la plateforme .NET et une description des outils fournis par l'environnement Visual Studio 2019, le lecteur découvrira progressivement les éléments clés du langage C# et la programmation orientée objet, jusqu'à pouvoir appliquer ce concept au développement d'applications Windows avec WPF. Une initiation aux techniques de débogage avec Visual Studio lui permettra de parfaire sa maîtrise de l'outil.
Le développement d'applications client-serveur est ensuite traité par le thème de l'accès aux données avec ADO.NET. Une description complète de LINQ au travers d'exemples concrets montre comment ses fonctionnalités simplifient la manipulation des données. Son utilisation est notamment présentée dans le cadre de l'accès au contenu d'une base de données SQL Server avec Entity Framework Core. Un chapitre est ensuite consacré à la manipulation de données au format XML, permettant l'échange de données entre applications d'une manière simple et standardisée. La fin du cycle de développement est traitée à travers le déploiement d'une application avec les technologies Windows Installer, ClickOnce et MSIX.
Afin d'aider le lecteur dans son apprentissage, un aide-mémoire est fourni ; il résume l'utilité des mots-clés C# traités dans le livre.
Les exemples présentés dans ces pages sont disponibles en téléchargement sur le site www.editions-eni.fr.
Quizinclus dans
la version en ligne !
Consultant et Formateur depuis plusieurs années, Sébastien PUTIER apporte son expertise dans la mise en oeuvre de solutions Windows, Web et mobiles avec la plateforme .Net depuis ses premières versions. Il est certifié techniquement (MCPD - MCSD) et pédagogiquement (MCT) par Microsoft. A travers les pages de ce livre, il transmet toute son expérience sur le langage C# pour que le lecteur acquière les fondamentaux et soit capable de tirer le meilleur parti possible des fonctionnalités offertes par la plateforme .NET.
En suivant ce lien, retrouvez tous les livres dans la spécialité Langage C diaise.Sommaire et contenu du livre "C# 8 et Visual Studio 2019 - Les fondamentaux du langage"
La plateforme .NET
- 1. Introduction
- 2. Historique de la plateforme
- 3. Évolution de la plateforme
- 3.1 .NET Standard
- 3.2 .NET Compiler Platform : Roslyn
- 3.3 .NET dans le monde open source
- 4. Le Common Language Runtime (CLR)
- 5. La Base Class Library (BCL)
- 6. Le Dynamic Language Runtime (DLR)
- 7. Une première application avec C#
- 7.1 Création
- 7.2 Compilation
- 7.3 Analyse de l'assembly
- 7.3.1 Structure
- 7.3.2 Exploration avec ILDASM
Visual Studio
- 1. Installation et premier lancement
- 1.1 Prérequis
- 1.2 Éditions de Visual Studio
- 1.2.1 Visual Studio Community
- 1.2.2 Éditions commerciales
- 1.3 Installation
- 1.4 Premier lancement
- 2.1 Barres d'outils
- 2.2 Explorateur de solutions
- 2.3 Explorateur d'objets
- 2.4 Explorateur de serveurs
- 2.5 Fenêtre de propriétés
- 2.6 Fenêtre d'édition de code
- 2.6.1 Navigation
- 2.6.2 Suivi des modifications
- 2.6.3 Mise en surbrillance des références
- 2.6.4 Refactorisation
- 2.6.5 IntelliSense
- 2.6.6 Snippets
L'organisation d'une application
- 1. Les solutions
- 1.1 Présentation
- 1.2 Création d'une solution
- 1.3 Organisation
- 1.4 Actions disponibles sur une solution
- 1.4.1 Ajout et suppression d'un projet
- 1.4.2 Création d'un dossier de solution
- 1.4.3 Chargement et déchargement d'un projet
- 1.4.4 Création d'un fichier
- 1.4.5 Génération de la solution
- 1.5 Configuration de la solution
- 1.5.1 Configuration des projets de démarrage
- 1.5.2 Dépendances du projet
- 1.5.3 Paramètres d'analyse du code
- 1.5.4 Fichiers sources pour le débogage
- 1.5.5 Configuration
- 2.1 Création d'un projet
- 2.2 Propriétés d'un projet
- 2.2.1 Application
- 2.2.2 Build
- 2.2.3 Événements de build
- 2.2.4 Package
- 2.2.5 Déboguer
- 2.2.6 Ressources
- 2.2.7 Paramètres
Les bases du langage
- 1. Introduction
- 2. Les variables
- 2.1 Nommage des variables
- 2.2 Type des variables
- 2.2.1 Types valeurs et types références
- 2.2.2 Types intégrés
- 2.3 Déclaration des variables
- 2.4 Portée des variables
- 2.5 Modificateurs d'accès
- 2.6 Le mot-clé var et l'inférence de type
- 4.1 Les opérateurs d’accès
- 4.1.1 Accès simple : .
- 4.1.2 Accès indexé : [ ]
- 4.1.3 Accès avec nullité conditionnelle : ?
- 4.4.1 Opérateur ternaire : ? ... :
- 4.4.2 Opérateur de fusion de valeur nulle : ??
- 4.5.1 Négation : !
- 4.5.2 ET logique : &
- 4.5.3 OU logique : |
- 4.5.4 OU exclusif : ^
- 4.5.5 ET conditionnel : &&
- 4.5.6 OU conditionnel : ||
- 4.6.1 ET binaire : &
- 4.6.2 OU binaire : |
- 4.6.3 OU exclusif : ^
- 4.6.4 Négation : ~
- 4.6.5 Décalage vers la droite : >>
- 4.6.6 Décalage vers la gauche : <<
- 5.1 Les structures conditionnelles
- 5.1.1 if ... else
- 5.1.2 switch
- 5.1.3 Le pattern matching
- 5.2.1 for
- 5.2.2 while
- 5.2.3 do ... while
- 5.2.4 foreach
- 5.2.5 Contrôler l'exécution d'une boucle
- 5.3.1 using
- 5.3.2 goto
- 6.1 Écriture d'une fonction
- 6.2 Paramètres de fonction
- 6.3 Procédures
- 6.4 Surcharges
- 6.5 Fonctions locales
La programmation orientée objet avec C#
- 1. Les principes de la programmation orientée objet
- 2. Les classes et les structures
- 2.1 Classes
- 2.1.1 Déclaration
- 2.1.2 Constructeur et destructeur
- 2.1.3 Classes partielles
- 2.1 Classes
- 2.2 Structures
- 2.3 Création de méthodes
- 2.3.1 Création
- 2.3.2 Méthodes partielles
- 2.3.3 Méthodes d'extension
- 2.3.4 Méthodes opérateurs
- 2.4 Création de propriétés
- 2.4.1 Lecture et écriture
- 2.4.2 Lecture seule
- 2.4.3 Écriture seule
- 2.4.4 Propriétés automatiques
- 2.4.5 Initialisation de propriétés automatiques
- 2.4.6 Propriétés automatiques en lecture seule
- 2.4.7 Propriétés indexées
- 2.5 Membres statiques
- 2.6 Utilisation des classes et structures
- 2.6.1 Instanciation
- 2.6.2 Initialisation
- 2.6.3 Types anonymes
- 3.1 Nomenclature
- 3.2 using
- 4.1 Mise en œuvre
- 4.2 Les mots-clés this et base
- 4.3 Redéfinition et masquage
- 4.3.1 Redéfinition de méthode
- 4.3.2 Masquage de méthode
- 4.3.3 Différences entre redéfinition et masquage
- 5.1 Création
- 5.2 Utilisation
- 5.2.1 Implémentation implicite
- 5.2.2 Implémentation explicite
- 7.1 Création
- 7.2 Utilisation
- 7.3 Expressions lambda
- 8.1 Déclaration et déclenchement
- 8.2 Gestion des événements
- 9.1 Classes
- 9.1.1 Définition d'une classe générique
- 9.1.2 Utilisation d'une classe générique
- 9.2.1 Définition d'une interface générique
- 9.2.2 Utilisation d'une interface générique
- 9.4.1 Définition d'une méthode générique
- 9.4.2 Utilisation d'une méthode générique
- 10.1 Types existants
- 10.1.1 Array
- 10.1.2 ArrayList et List<T>
- 10.1.3 Hashtable et Dictionary<TKey, TValue>
- 10.1.4 Stack et Stack<T>
- 10.1.5 Queue et Queue<T>
- 12.1 Les objets Task
- 12.2 Écrire du code asynchrone avec async et await
Le débogage et la gestion des erreurs
- 1. Les différents types d'erreurs
- 1.1 Erreurs de compilation
- 1.2 Erreurs d'exécution
- 2. Utilisation des exceptions
- 2.1 Création et déclenchement d'exceptions
- 2.1.1 La classe Exception
- 2.1.2 Le mot-clé throw
- 2.1.3 Exceptions spécialisées
- 2.1 Création et déclenchement d'exceptions
- 2.2 Gérer les exceptions
- 2.2.1 La structure try ... catch
- 2.2.2 Les filtres d’exception
- 2.2.3 Le bloc finally
- 3.1 Contrôle de l'exécution
- 3.1.1 Démarrage
- 3.1.2 Arrêt
- 3.1.3 Pause
- 3.1.4 Reprise
- 3.3.1 DataTips
- 3.3.2 Fenêtres Espion
- 3.3.3 Fenêtre Espion express
- 3.3.4 Fenêtre Automatique
- 3.3.5 Fenêtre Variables locales
- 4.1 NullReferenceException
- 4.2 Une solution : l'utilisation de types références non-nuls
Le développement d'applications Windows
- 1. Présentation de WPF
- 1.1 Structure d'une application WPF
- 1.2 XAML
- 1.2.1 Templates
- 1.2.2 Espaces de noms
- 1.3 Contexte de données et binding
- 2.1 Ajout de contrôles
- 2.2 Positionnement et dimensionnement des contrôles
- 2.3 Ajout d'un gestionnaire d'événements à un contrôle
- 3.1 Contrôles de fenêtrage
- 3.1.1 Window
- 3.1.2 NavigationWindow
- 3.2.1 Grid
- 3.2.2 StackPanel
- 3.2.3 DockPanel
- 3.2.4 WrapPanel
- 3.2.5 Canvas
- 3.3.1 TextBlock
- 3.3.2 Label
- 3.3.3 Image
- 3.3.4 ScrollViewer
- 3.3.5 ItemsControl
- 3.3.6 StatusBar
- 3.3.7 ToolTip
- 3.4.1 TextBox
- 3.4.2 RichTextBox
- 3.4.3 PasswordBox
- 3.5.1 RadioButton
- 3.5.2 CheckBox
- 3.5.3 ComboBox
- 3.5.4 ListBox
- 3.5.5 ListView
- 3.5.6 TreeView
- 3.5.7 Slider
- 3.5.8 Calendar
- 3.5.9 DatePicker
- 3.6.1 Button
- 3.6.2 Menu
- 3.6.3 ContextMenu
- 3.6.4 ToolBar
- 4.1 Événements clavier
- 4.2 Événements souris
- 4.3 Glisser-déposer
- 5.1 Introduction à l'utilisation de Blend
- 5.1.1 L'interface
- 5.1.2 Ajout et modification de contrôles visuels
- 5.2.1 Présentation
- 5.2.2 Les interfaces INotifyPropertyChanged et INotifyCollectionChanged
- 5.2.3 Commandes
- 5.2.4 Mise en œuvre
L’accès aux données
- 1. Principes d'une base de données
- 1.1 Terminologie
- 1.2 Le langage SQL
- 1.2.1 Recherche d'enregistrements
- 1.2.2 Ajout d'enregistrements
- 1.2.3 Mise à jour d'informations
- 1.2.4 Suppression d'informations
- 2.1 Présentation
- 2.2 Les fournisseurs de données
- 2.2.1 SQL Server
- 2.2.2 OLE DB
- 2.2.3 ODBC
- 3.1 Connexion à une base de données
- 3.1.1 Chaînes de connexion
- 3.1.2 Pools de connexions
- 3.1.3 Gestion de la connexion
- 3.2.1 Définition et création d'une commande
- 3.2.2 Sélection de données
- 3.2.3 Actions sur les données
- 3.2.4 Paramétrage d'une commande
- 3.2.5 Exécution de procédures stockées
- 4.1 DataSet et DataTable
- 4.1.1 Description
- 4.1.2 Remplissage d'un DataSet à partir d'une base de données
- 4.1.3 Remplissage d'un DataSet sans base de données
- 4.2.1 Lecture des données
- 4.2.2 Création de contraintes
- 4.2.3 Relations entre DataTables
- 4.2.4 État et versions d'une DataRow
- 4.2.5 Modification de données
- 4.2.6 Suppression de données
- 4.2.7 Valider ou annuler des modifications
- 4.2.8 Filtrage et tri à l'aide d'une DataView
- 4.2.9 Recherche de données
- 4.3.1 Générer des commandes de mise à jour automatiquement
- 4.3.2 Commandes de mise à jour personnalisées
- 4.3.3 Gestion des accès concurrentiels
LINQ
- 1. Présentation de LINQ
- 2. Syntaxe
- 2.1 Une première requête LINQ
- 2.2 Les opérateurs de requête
- 2.2.1 Projection
- 2.2.2 Filtrage
- 2.2.3 Triage
- 2.2.4 Partitionnement
- 2.2.5 Jointure et regroupement
- 2.2.6 Agrégation
- 3.1 Les principes du mappage objet-relationnel
- 3.1.1 Les principes
- 3.2.1 Génération du code à partir d’une base de données
- 3.2.2 Création d‘une base de données avec du code
- 3.3.1 Récupération de données
- 3.3.2 Mise à jour de données
- 3.3.3 Gestion des conflits
XML
- 1. Présentation
- 2. Structure d'un fichier XML
- 2.1 Constituants d'un document XML
- 2.2 Document bien formé et document valide
- 3. Manipuler un document XML
- 3.1 Utilisation de DOM
- 3.2 Utilisation de XPath
- 3.3 Utilisation de LINQ to XML
Le déploiement
- 1. Introduction
- 2. Windows Installer
- 2.1 Création d'un projet d'installation
- 2.1.1 Opérations sur le système de fichiers
- 2.1.2 Opérations sur le registre de la machine cible
- 2.1.3 Configuration de l’installation par l’utilisateur
- 2.1.4 Exécution d’actions personnalisées
- 2.1.5 Conditions
- 2.1 Création d'un projet d'installation
- 4.1 La technologie ClickOnce
- 4.1.1 Principes de fonctionnement
- 4.1.2 Méthodes de déploiement disponibles
- 4.1.3 Les mises à jour d'applications avec ClickOnce
Aide-mémoire
- 1. Introduction
- Index