• Aide
  • Eurêkoi Eurêkoi

Livre

C# 8 et Visual Studio 2019 : les fondamentaux du langage

Résumé

Présentation des outils fournis par l'environnement Visual Studio 2019, des éléments clés du langage C# et de la programmation orientée objet. Le développement d'applications client-serveur est ensuite traité par le thème d'accès aux données avec ADO.Net. Des compléments sont accessibles en ligne, ainsi que la version numérique du livre. ©Electre 2020


  • Éditeur(s)
  • Date
    • cop. 2020
  • Notes
    • La couv. porte en plus : "En téléchargement : le code source" ; "+ quiz" ; "Version en ligne offerte ! pendant 1 an"
    • La 4e de couv. porte en plus : Sur www.editions-eni.fr : le code source des exemples traités dans le livre"
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (596 p.) : ill. ; 21 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-02280-7
  • Indice
  • Quatrième de couverture
    • 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 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.


  • Tables des matières
      • C#8 et Visual Studio 2019

      • Les fondamentaux du langage

      • Avant-propos
      • Chapitre 1
        La plateforme .NET
      • 1. Introduction15
      • 2. Historique de la plateforme17
      • 3. Évolution de la plateforme25
      • 3.1 .NET Standard25
      • 3.2 .NET Compiler Platform : Roslyn26
      • 3.3 .NET dans le monde open source27
      • 4. Le Common Language Runtime (CLR)28
      • 5. La Base Class Library (BCL)31
      • 6. Le Dynamic Language Runtime (DLR)32
      • 7. Une première application avec C#33
      • 7.1 Création33
      • 7.2 Compilation37
      • 7.3 Analyse de l'assembly41
      • 7.3.1 Structure41
      • 7.3.2 Exploration avec ILDASM42
      • Chapitre 2
        Visual Studio 2019
      • 1. Installation et premier lancement47
      • 1.1 Prérequis47
      • 1.2 Éditions de Visual Studio48
      • 1.2.1 Visual Studio Community48
      • 1.2.2 Éditions commerciales49
      • 1.3 Installation50
      • 1.4 Premier lancement56
      • 2. Description des outils64
      • 2.1 Barres d'outils68
      • 2.2 Explorateur de solutions70
      • 2.3 Explorateur d'objets71
      • 2.4 Explorateur de serveurs72
      • 2.5 Fenêtre de propriétés76
      • 2.6 Fenêtre d'édition de code79
      • 2.6.1 Navigation79
      • 2.6.2 Suivi des modifications79
      • 2.6.3 Mise en surbrillance des références80
      • 2.6.4 Refactorisation81
      • 2.6.5 IntelliSense83
      • 2.6.6 Snippets83
      • Chapitre 3
        L'organisation d'une application
      • 1. Les solutions85
      • 1.1 Présentation85
      • 1.2 Création d'une solution86
      • 1.3 Organisation87
      • 1.4 Actions disponibles sur une solution88
      • 1.4.1 Ajout et suppression d'un projet88
      • 1.4.2 Création d'un dossier de solution89
      • 1.4.3 Chargement et déchargement d'un projet90
      • 1.4.4 Création d'un fichier91
      • 1.4.5 Génération de la solution91
      • 1.5 Configuration de la solution92
      • 1.5.1 Configuration des projets de démarrage92
      • 1.5.2 Dépendances du projet94
      • 1.5.3 Paramètres d'analyse du code95
      • 1.5.4 Fichiers sources pour le débogage95
      • 1.5.5 Configuration96
      • 2. Les projets97
      • 2.1 Création d'un projet97
      • 2.2. Propriétés d'un projet103
      • 2.2.1 Application103
      • 2.2.2 Build105
      • 2.2.3 Événements de build109
      • 2.2.4 Package110
      • 2.2.5 Déboguer111
      • 2.2.6 Ressources113
      • 2.2.7 Paramètres114
      • Chapitre 4
        Les bases du langage
      • 1. Introduction117
      • 2. Les variables117
      • 2.1 Nommage des variables118
      • 2.2 Type des variables119
      • 2.2.1 Types valeurs et types références119
      • 2.2.2 Types intégrés120
      • 2.3 Déclaration des variables124
      • 2.4 Portée des variables125
      • 2.5 Modificateurs d'accès126
      • 2.6 Le mot-clé var et l'inférence de type126
      • 3. Les constantes128
      • 4. Les opérateurs128
      • 4.1 Les opérateurs d'accès129
      • 4.1.1 Accès simple129
      • 4.1.2 Accès indexé : []129
      • 4.1.3 Accès avec nullité conditionnelle ?130
      • 4.2 Les opérateurs arithmétiques131
      • 4.3 Les opérateurs de comparaison131
      • 4.4 Les opérateurs conditionnels132
      • 4.4.1 Opérateur ternaire : ?132
      • 4.4.2 Opérateur de fusion de valeur nulle : ??133
      • 4.5 Les opérateurs logiques133
      • 4.5.1 Négation : !133
      • 4.5.2 Et logique : &134
      • 4.5.3 Ou logique : |134
      • 4.5.4 Ou exclusif : ^134
      • 4.5.5 Et conditionnel : &&135
      • 4.5.6 Ou conditionnel : ||135
      • 4.6 Les opérateurs binaires136
      • 4.6.1 Et binaire : &136
      • 4.6.2 Ou binaire : |136
      • 4.6.3 Ou exclusif : ^137
      • 4.6.4 Négation : (...)137
      • 4.6.5 Décalage vers la droite : >>137
      • 4.6.6 Décalage vers la gauche : <<138
      • 5. Les structures de contrôle138
      • 5.1 Les structures conditionnelles138
      • 5.1.1 if... else138
      • 5.1.2 switch140
      • 5.1.3 Le pattern matching141
      • 5.2 Les structures d'itération146
      • 5.2.1 for146
      • 5.2.2 While147
      • 5.2.3 do... while147
      • 5.2.4 foreach147
      • 5.2.5 Contrôler l'exécution d'une boucle148
      • 5.3 Autres structures149
      • 5.3.1 using149
      • 5.3.2 goto150
      • 6. Les fonctions151
      • 6.1 Écriture d'une fonction151
      • 6.2 Paramètres de fonction153
      • 6.3 Procédures158
      • 6.4 Surcharges158
      • 6.5 Fonctions locales160
      • 7. Les tuples161
      • 8. Les attributs164
      • Chapitre 5
        La programmation orientée objet avec C#
      • 1. Les principes de la programmation orientée objet165
      • 2. Les classes et les structures168
      • 2.1 Classes168
      • 2.1.1 Déclaration169
      • 2.1.2 Constructeur et destructeur171
      • 2.1.3 Classes partielles175
      • 2.2 Structures176
      • 2.3 Création de méthodes177
      • 2.3.1 Création177
      • 2.3.2 Méthodes partielles179
      • 2.3.3 Méthodes d'extension180
      • 2.3.4 Méthodes opérateurs182
      • 2.4 Création de propriétés184
      • 2.4.1 Lecture et écriture184
      • 2.4.2 Lecture seule185
      • 2.4.3 Écriture seule186
      • 2.4.4 Propriétés automatiques186
      • 2.4.5 Initialisation de propriétés automatiques187
      • 2.4.6 Propriétés automatiques en lecture seule188
      • 2.4.7 Propriétés indexées188
      • 2.5 Membres statiques189
      • 2.6 Utilisation des classes et structures190
      • 2.6.1 Instanciation190
      • 2.6.2 Initialisation191
      • 2.6.3 Types anonymes192
      • 3. Les espaces de noms195
      • 3.1 Nomenclature195
      • 3.2 Using196
      • 4. L'héritage198
      • 4.1 Mise en oeuvre198
      • 4.2 Les mots-clés this et base199
      • 4.3 Redéfinition et masquage200
      • 4.3.1 Redéfinition de méthode201
      • 4.3.2 Masquage de méthode202
      • 4.3.3 Différences entre redéfinition et masquage202
      • 4.4 Imposer ou interdire l'héritage205
      • 4.5 Le transtypage206
      • 5. Les interfaces208
      • 5.1 Création209
      • 5.2 Utilisation211
      • 5.2.1 Implémentation implicite212
      • 5.2.2 Implémentation explicite214
      • 6. Les énumérations216
      • 7. Les délégués216
      • 7.1 Création217
      • 7.2 Utilisation217
      • 7.3 Expressions lambda218
      • 8. Les événements219
      • 8.1 Déclaration et déclenchement219
      • 8.2 Gestion des événements221
      • 9. Les génériques222
      • 9.1 Classes223
      • 9.1.1 Définition d'une classe générique223
      • 9.1.2 Utilisation d'une classe générique224
      • 9.2 Interfaces224
      • 9.2.1 Définition d'une interface générique225
      • 9.2.2 Utilisation d'une interface générique226
      • 9.3 Contraintes227
      • 9.4 Méthodes232
      • 9.4.1 Définition d'une méthode générique232
      • 9.4.2 Utilisation d'une méthode générique234
      • 9.5 Événements et délégués234
      • 10. Les collections236
      • 10.1 Types existants236
      • 10.1.1Array237
      • 10.1.2ArrayList et List <T>237
      • 10.1.3Hashtable et Dictionary <TKey, TValue>241
      • 10.1.4Stack et Stack <T>244
      • 10.1.5Queue et Queue <T>244
      • 10.2 Choisir un type de collection245
      • 11. La programmation dynamique245
      • 12. La programmation asynchrone248
      • 12.1 Les objets Task248
      • 12.2 Écrire du code asynchrone avec async et await251
      • Chapitre 6
        Le débogage et la gestion des erreurs
      • 1. Les différents types d'erreurs253
      • 1.1 Erreurs de compilation253
      • 1.2 Erreurs d'exécution255
      • 2. Utilisation des exceptions256
      • 2.1 Création et déclenchement d'exceptions256
      • 2.1.1 La classe Exception256
      • 2.1.2 Le mot-clé throw257
      • 2.1.3 Exceptions spécialisées257
      • 2.2 Gérer les exceptions258
      • 2.2.1 La structure try... catch258
      • 2.2.2 Les filtres d'exception261
      • 2.2.3 Le bloc finally262
      • 3. Les outils fournis par Visual Studio264
      • 3.1 Contrôle de l'exécution264
      • 3.1.1 Démarrage265
      • 3.1.2 Arrêt266
      • 3.1.3 Pause266
      • 3.1.4 Reprise267
      • 3.2 Points d'arrêt267
      • 3.3 Visualiser le contenu des variables274
      • 3.3.1 Data Tips274
      • 3.3.2 Fenêtres Espion275
      • 3.3.3 Fenêtre Espion express276
      • 3.3.4 Fenêtre Automatique277
      • 3.3.5 Fenêtre Variables locales277
      • 3.4 Compilation conditionnelle277
      • 4. L'erreur à un milliard de dollars : les références nulles280
      • 4.1 NullReferenceException281
      • 4.2 Une solution : l'utilisation de types références non-nuls283
      • Chapitre 7
        Le développement d'applications Windows
      • 1. Présentation de WPF289
      • 1.1 Structure d'une application WPF290
      • 1.2 XAML291
      • 1.2.1 Templates292
      • 1.2.2 Espaces de noms293
      • 1.3 Contexte de données et binding294
      • 2. Utilisation des contrôles298
      • 2.1 Ajout de contrôles299
      • 2.2 Positionnement et dimensionnement des contrôles302
      • 2.3 Ajout d'un gestionnaire d'événements à un contrôle305
      • 3. Les principaux contrôles307
      • 3.1 Contrôles de fenêtrage308
      • 3.1.1 Window308
      • 3.1.2 NavigationWindow311
      • 3.2 Contrôles de disposition313
      • 3.2.1 Grid313
      • 3.2.2 StackPanel316
      • 3.2.3 DockPanel317
      • 3.2.4 WrapPanel319
      • 3.2.5 Canvas320
      • 3.3 Contrôles d'affichage de données321
      • 3.3.1 TextBlock321
      • 3.3.2 Label322
      • 3.3.3 Image324
      • 3.3.4 ScrollViewer325
      • 3.3.5 ItemsControl325
      • 3.3.6 StatusBar329
      • 3.3.7 ToolTip329
      • 3.4 Contrôles d'édition de texte330
      • 3.4.1 TextBox330
      • 3.4.2 RichTextBox331
      • 3.4.3 PasswordBox333
      • 3.5 Contrôles de sélection334
      • 3.5.1 RadioButton334
      • 3.5.2 CheckBox334
      • 3.5.3 ComboBox335
      • 3.5.4 ListBox336
      • 3.5.5 ListView337
      • 3.5.6 TreeView340
      • 3.5.7 Slider345
      • 3.5.8 Calendar345
      • 3.5.9 DatePicker346
      • 3.6 Contrôles d'action346
      • 3.6.1 Button347
      • 3.6.2 Menu347
      • 3.6.3 ContextMenu350
      • 3.6.4 ToolBar350
      • 4. Interactions clavier et souris352
      • 4.1 Événements clavier352
      • 4.2 Événements souris355
      • 4.3 Glisser-déposer357
      • 5. Aller plus loin avec WPF360
      • 5.1 Introduction à l'utilisation de Blend360
      • 5.1.1 L'interface361
      • 5.1.2 Ajout et modification de contrôles visuels368
      • 5.2 Introduction à MVVM371
      • 5.2.1 Présentation371
      • 5.2.2 Les interfaces INotifyPropertyChanged et INotifyCollectionChanged372
      • 5.2.3 Commandes373
      • 5.2.4 Mise en oeuvre373
      • Chapitre 8
        L'accès aux données
      • 1. Principes d'une base de données389
      • 1.1 Terminologie389
      • 1.2 Le langage SQL390
      • 1.2.1 Recherche d'enregistrements391
      • 1.2.2 Ajout d'enregistrements393
      • 1.2.3 Mise à jour d'informations393
      • 1.2.4 Suppressions d'informations394
      • 2. ADO.NET394
      • 2.1 Présentation394
      • 2.2 Les fournisseurs de données395
      • 2.2.1 SQL Server396
      • 2.2.2 OLE DB396
      • 2.2.3 ODBC397
      • 3. Utiliser ADO.NET en mode connecté397
      • 3.1 Connexion à une base de données398
      • 3.1.1 Chaînes de connexion398
      • 3.1.2 Pools de connexions401
      • 3.1.3 Gestion de la connexion403
      • 3.2 Création et exécution de commandes405
      • 3.2.1 Définition et création d'une commande406
      • 3.2.2 Sélection de données406
      • 3.2.3 Actions sur les données408
      • 3.2.4 Paramétrage d'une commande408
      • 3.2.5 Exécution de procédures stockées411
      • 4. Utiliser ADO.NET en mode déconnecté413
      • 4.1 DataSet et Data Table413
      • 4.1.1 Description413
      • 4.1.2 Remplissage d'un DataSet à partir d'une base de données414
      • 4.1.3 Remplissage d'un DataSet sans base de données417
      • 4.2 Manipulation des données hors connexion420
      • 4.2.1 Lecture des données421
      • 4.2.2 Création de contraintes421
      • 4.2.3 Relations entre Data Tables425
      • 4.2.4 État et versions d'une DataRow427
      • 4.2.5 Modification de données428
      • 4.2.6 Suppression de données430
      • 4.2.7 Valider ou annuler des modifications430
      • 4.2.8 Filtrage et tri à l'aide d'une DataView431
      • 4.2.9 Recherche de données434
      • 4.3 Valider les modifications au niveau de la base de données436
      • 4.3.1 Générer des commandes de mise à jour automatiquement437
      • 4.3.2 Commandes de mise à jour personnalisées439
      • 4.3.3 Gestion des accès concurrentiels440
      • 5. Utiliser les transactions442
      • Chapitre 9
        LINQ
      • 1. Présentation de LINQ445
      • 2. Syntaxe446
      • 2.1 Une première requête LINQ449
      • 2.2 Les opérateurs de requête452
      • 2.2.1 Projection452
      • 2.2.2 Filtrage454
      • 2.2.3 Triage456
      • 2.2.4 Partitionnement457
      • 2.2.5 Jointure et regroupement458
      • 2.2.6 Agrégation461
      • 3. Entity Framework Core463
      • 3.1 Les principes du mappage objet-relationnel463
      • 3.1.1 Les principes463
      • 3.2 Mise en place465
      • 3.2.1 Génération du code à partir d'une base de données467
      • 3.2.2 Création d'une base de données avec du code481
      • 3.3 Utilisation de LINQ avec Entity Framework Core483
      • 3.3.1 Récupération de données484
      • 3.3.2 Mise à jour de données486
      • 3.3.3 Gestion des conflits488
      • Chapitre 10
        XML
      • 1. Présentation493
      • 2. Structure d'un fichier XML494
      • 2.1 Constituants d'un document XML494
      • 2.2 Document bien formé et document valide498
      • 3. Manipuler un document XML499
      • 3.1 Utilisation de DOM500
      • 3.2 Utilisation de XPath505
      • 3.3 Utilisation de LINQ to XML508
      • Chapitre 11
        Le déploiement
      • 1. Introduction513
      • 2. Windows Installer514
      • 2.1 Création d'un projet d'installation515
      • 2.1.1 Opérations sur le système de fichiers517
      • 2.1.2 Opérations sur le registre de la machine cible521
      • 2.1.3 Configuration de l'installation par l'utilisateur522
      • 2.1.4 Exécution d'actions personnalisées524
      • 2.1.5 Conditions525
      • 3. Fichiers binaires (.exe, .dll)527
      • 4. ClickOnce533
      • 4.1 La technologie ClickOnce533
      • 4.1.1 Principes de fonctionnement534
      • 4.1.2 Méthodes de déploiement disponibles535
      • 4.1.3 Les mises à jour d'applications avec ClickOnce536
      • 4.2 La publication ClickOnce538
      • 5. MSIX547
      • Chapitre 12
        Aide-mémoire
      • 1. Introduction563
      • Index583

  • Origine de la notice:
    • Electre
  • Disponible - 681.229 PUT

    Niveau 3 - Informatique