Sommaire. 1 Introduction... 21. 2.NET et C#... 29. 3 Introduction à la programmation... 43



Documents pareils
Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Programmer en JAVA. par Tama

as Architecture des Systèmes d Information

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Chapitre VI- La validation de la composition.

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

Traduction des Langages : Le Compilateur Micro Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

UE C avancé cours 1: introduction et révisions

PROGRAMMATION PAR OBJETS

PHP 5.4 Développez un site web dynamique et interactif

Plan du cours. Historique du langage Nouveautés de Java 7

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?


SHERLOCK 7. Version du 01/09/09 JAVASCRIPT 1.5

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

INITIATION AU LANGAGE JAVA

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Notions fondamentales du langage C# Version 1.0

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Une introduction à Java

Bases de programmation. Cours 5. Structurer les données

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Bases Java - Eclipse / Netbeans

Programmation système I Les entrées/sorties

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Créer et partager des fichiers

Compilation (INF 564)

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Java 1.5 : principales nouveautés

Langage Java. Classe de première SI

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Création et Gestion des tables

Algorithmique et Programmation, IMA

INF 321 : mémento de la syntaxe de Java

Création d objet imbriqué sous PowerShell.

Cours d Algorithmique et de Langage C v 3.0

TP1 : Initiation à Java et Eclipse

Java c est quoi? Java pourquoi?

//////////////////////////////////////////////////////////////////// Administration bases de données

JADE : Java Agent DEvelopment framework. Laboratoire IBISC & Départ. GEII Université & IUT d Evry nadia.abchiche@ibisc.univ-evry.

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Auto-évaluation Programmation en Java

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Programmation en langage C

Devenez un véritable développeur web en 3 mois!

Nicolas Hanteville. for(e=n;s<i;c++){attitude();} Sur environnement Microsoft Windows

Catalogue des formations 2014

Java Licence Professionnelle CISII,

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Facultés Universitaires Notre-Dame de la Paix. Conception et Programmation Orientées- Object

Générer du code à partir d une description de haut niveau

TP 1. Prise en main du langage Python

L informatique en BCPST

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Le langage C. Introduction, guide de reference

Introduction à MATLAB R

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Évaluation et implémentation des langages

Le MSMQ. Version 1.0. Pierre-Franck Chauvet

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Reporting Services - Administration

Installation de SCCM 2012 (v2)

1/ Présentation de SQL Server :

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Présentation du langage et premières fonctions

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Initiation à la Programmation en Logique avec SISCtus Prolog

TP : Gestion d une image au format PGM

Initiation à JAVA et à la programmation objet.

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Gestion mémoire et Représentation intermédiaire

Projet gestion d'objets dupliqués

Génie Logiciel avec Ada. 4 février 2013

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Créer le schéma relationnel d une base de données ACCESS

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Claude Delannoy. 3 e édition C++

Apprendre Java en 154 minutes

DotNet. Plan. Les outils de développement

Rapport de stage. Titre : Aide à la conception d interfaces et déploiement d un site d administration de tables SQL Stagiaire : Julien LE GALL

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

Windows Azure Platform Développez, déployez et administrez pour le Cloud Microsoft

Programmation MacOSX / ios

SUPPORT DE COURS. Langage C

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Java Licence Professionnelle CISII,

TD3: tableaux avancées, première classe et chaînes

Introduction à l algorithmique et à la programmation M1102 CM n 3

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

Transcription:

1 Introduction... 21 1.1 Un nouveau langage... 23 1.2 À qui ce livre est-il destiné?... 25 1.3 Quels sont les domaines abordés?... 26 1.4 Remerciements... 27 1.5 Contacts... 28 2.NET et C#... 29 2.1 Le Framework.NET... 31 Apports du Framework... 31 Fonctionnement du Framework.NET... 34 2.2 C#... 40 Objectif du C#... 40 Avantages du langage C#... 40 3 Introduction à la programmation... 43 3.1 La programmation... 45 La programmation machine... 45 L assembleur... 47 Les langages dédiés... 48

Les langages structurés... 50 Les langages objet... 51 3.2 La compilation... 52 3.3 Différents langages et différents modes de compilation.. 53 Langages interprétés... 53 Langages compilés... 53 Langages intermédiaires... 54 Et le langage C#?... 54 Récapitulatif des principaux langages... 54 3.4 Programmation orientée objet... 55 La conception objet... 55 But d un programme... 56 Le tout-objet... 56 Les instances de classe... 59 Les membres d instances... 60 L héritage... 62 Les membres statiques ou membres de classes... 64 Polymorphisme... 64 4 Installation et configuration du Framework.NET... 67 4.1 Installation... 69 4.2 Configuration du système... 70 4.3 Saisir un code source... 74 4.4 Compilation d un fichier source... 78 5 Hello C#... 81 5.1 Un premier programme... 83 5.2 Analyse du code... 85 Les classes... 85 Les méthodes... 87 5.3 La présentation du code source... 92 5.4 Les tokens... 92 Les commentaires... 94 6 Les objets... 97 6.1 Les constructeurs : générateurs d objets... 99

Méthode Constructeur... 99 Création d un objet... 101 6.2 Retenir les objets : les handles... 105 Créer un handle dans un programme... 106 Faire pointer un handle... 106 La référence à un membre d une classe... 110 6.3 Fin de vie des objets : le garbage collector... 113 7 Les types de données... 115 7.1 La mémoire d un ordinateur... 117 Les types : des marques en mémoire... 117 Les types... 118 Où se trouvent les données manipulées par C#?... 118 Présentation des différents types du C#... 119 7.2 Les primitives... 119 Les types entiers... 119 Les types à virgule flottante... 125 Le type bool... 127 7.3 Les identificateurs... 127 Savoir écrire un identificateur... 127 Les mots clés... 128 7.4 Les constantes... 129 Constantes non nommées... 129 Constantes nommées... 138 7.5 Les variables... 143 Initialisation... 144 Affectation... 145 7.6 Valeurs par défaut des primitives... 146 7.7 Portée... 149 Portée des identificateurs de variables ou de constantes... 149 Portée des identificateurs de méthodes... 152 Identificateurs des objets... 153 7.8 Les types fondamentaux objets... 153 La classe Object... 153 La classe String... 155 Les objets déclarés avec const... 159 7.9 Un programme final... 159

8 Les classes... 169 8.1 L héritage... 172 Héritage en langage C#... 173 Instances et membres de super-classes... 180 Typage multiple... 183 Redéfinition de méthodes... 184 8.2 Les méthodes... 188 Paramètres... 189 Valeur retournée... 195 Surcharge de méthode... 206 Surcharge de constructeur... 210 8.3 Le mot clé This... 214 8.4 Le constructeur par défaut... 216 8.5 Les paramètres Ref et Out... 218 Passage d arguments par référence... 218 Passage d argument avec Out... 222 8.6 Le paramètre Params... 224 8.7Programme final... 225 9 Les opérateurs... 235 9.1 Les deux instructions :... 237 9.2 Les catégories d opérateurs... 237 9.3 Les expressions... 238 9.4 Priorité et associativité... 239 Priorité... 239 Associativité... 240 9.5 Les opérateurs arithmétiques... 242 Fonctionnement... 243 Modulo... 244 9.6 Les opérateurs de comparaison... 244 9.7Les opérateurs logiques... 248 ET logique... 249 OU logique... 252 9.8 Les opérateurs de bits... 255 Opérateurs logiques bit à bit... 255 Les opérateurs de décalage... 265 9.9 Les opérateurs d affectation... 272

Opérateur d affectation simple... 274 Opérateurs d affectations combinées... 275 Incrémenter et décrémenter... 276 9.10 L opérateur conditionnel... 279 9.11 Les opérateurs sizeof et typeof... 283 9.12 Les parenthèses et les crochets... 288 9.13 Conversion de type... 289 Conversions explicites... 291 Conversion lors d opérations... 292 Conversion lors d affectations... 293 9.14 L opérateur is... 295 9.15 L opérateur as... 298 9.16 La surcharge d opérateurs... 301 Code source complet... 308 10 Les structures de contrôle... 311 10.1 Les instructions conditionnelles... 313 L instruction if... 313 Améliorer les expressions de condition... 317 L instruction if-else... 320 L instruction switch... 321 Instruction de saut... 323 10.2 Les instructions répétitives... 329 L instruction while... 329 L instruction for... 334 Boucle do-while... 341 Boucle foreach... 344 Boucles imbriquées... 344 10.3 Les instructions de saut... 347 L instruction break... 348 L instruction continue... 351 L instruction goto... 354 11 Le préprocesseur... 357 11.1 Les constantes symboliques et la compilation conditionnelle... 360 11.2 Option /define du compilateur... 366

11.3 La directive #undef... 367 11.4 La directive #error... 368 11.5 La directive #warning... 370 11.6 La directive #line... 370 11.7Les directives #région et #endregion... 371 12 Les types de données complexes... 375 12.1 Les structures... 377 Imbrication de structures... 381 12.2 Les énumérations... 382 Donner un type aux membres d une énumération... 385 Donner une valeur aux membres de l énumération... 386 La class Enum... 387 12.3 Les propriétés... 393 12.4 Les tableaux... 405 Tableau en mémoire... 406 Tableaux multidimensionnels... 417 La structure itérative foreach... 420 13 La programmation de classes avancée... 423 13.1 Constructeurs statiques... 425 13.2 Constructeurs privés... 426 13.3 Champs readonly... 427 13.4 Protection de classes et de membres... 428 Protection de classes... 428 Protection de membres... 429 13.5 Les classes scellées... 430 13.6 Les classes abstraites... 431 13.7Les interfaces... 444 Classe implémentant plusieurs interfaces... 447 Déterminer si une classe implémente une interface... 450 Cacher les membres d une classe implémentée... 451 Implémentation d interface sur plusieurs niveaux... 452 13.8 Les espaces de noms... 452 Les unités de compilation... 452 Déclaration des espaces de noms... 454 Utilisation des espaces de noms... 457

Les alias... 460 13.9 Les indexeurs... 463 13.10 Contrôler la création de classes héritées... 466 14 Le contrôle des erreurs... 473 14.1 Exemple d exceptions... 476 14.2 Fonctionnement des exceptions... 477 14.3 Capturer une exception... 477 La clause try... 479 La clause catch... 481 Utiliser les objets créés par les exceptions... 484 14.4 Générer soi-même des exceptions... 485 14.5 Les membres de la classe Exception... 486 14.6 La clause finally... 488 14.7Créer ses propres exceptions... 490 14.8 Conseil sur les exceptions... 493 Quand utiliser les exceptions?... 493 Quand ne pas utiliser les exceptions?... 493 14.9 Checked et unchecked : surveiller les dépassements de capacité... 494 Dépassement de capacité sur les réels... 497 15 Les délégués et le traitement d événements... 499 15.1 Délégués... 501 Manipuler les délégués... 506 Délégué avec d autres types de méthodes... 507 Délégué membre de classe... 509 15.2 Événements... 511 15.3 Code source complet... 521 16 Processus... 527 16.1 Domaine d application... 529 Fonctionnement et avantages... 530 Domaines d application et assemblys... 531 Domaines d application et threads... 533 Programmer les domaines d application... 534

16.2 Assembly... 538 Rôle des assemblys... 538 Programmer avec les assemblys... 539 16.3 Processus... 553 Démarrer un processus... 553 Stopper un processus... 556 Contrôler un processus... 558 Surveiller un processus... 561 16.4 Threads... 565 ThreadPool... 566 Gérer les threads soi-même... 577 17 Les classes de base du Framework... 589 17.1 La classe Object... 591 Méthode ToString()... 591 Méthode Equals()... 592 Méthode GetType()... 594 Méthode Finalize()... 595 17.2 La classe Math... 597 Propriétés de Math... 597 Méthodes de la classe Math... 598 17.3 La class Random... 600 17.4 Manipuler le temps en langage C#... 601 Structure DateTime... 602 Classe TimeSpan... 606 Afficher les dates correctement... 608 17.5 La classe Array et les tableaux... 611 Propriétés de la classe Array... 611 Méthodes de la classe Array... 612 17.6 Les classes conteneurs... 615 Tableaux dynamiques (vecteurs)... 616 17.7 La classe Stack... 623 17.8 Les classes encapsulant les types primitifs... 628 Méthode Parse... 630 Méthode ToString... 630 Constantes des classes primitives... 630 Boxing et Unboxing... 633 17.9 Le garbage collector... 634 17.10 Les collections... 635

Construire une énumération... 636 Comparaison d objets... 640 Clonage d objets... 647 18 Manipulation des fichiers et répertoires... 651 18.1 L architecture de l espace de noms... 655 18.2 La classe Directory... 657 La méthode CreateDirectory... 657 La méthode Delete... 659 La méthode Exists... 661 La méthode GetCreationTime... 661 La méthode GetCurrentDirectory... 662 La méthode GetDirectories... 663 La méthode GetDirectoryRoot... 665 La méthode GetFiles... 666 La méthode GetLastAccessTime... 668 La méthode GetLastWriteTime... 669 La méthode GetLogicalDrives... 669 La méthode GetParent... 671 La méthode Move... 671 La méthode SetCurrentDirectory... 672 Les méthodes SetCreationTime, SetLastAccessTime et SetLastWriteTime... 673 18.3 La classe DirectoryInfo... 674 Le constructeur de la classe DirectoryInfo... 675 La propriété Exists... 676 La propriété Attributes... 676 La propriété CreationTime... 680 La propriété Extension... 680 Les propriétés FullName et Name... 681 Les propriétés LastAccessTime et LastWriteTime... 683 La méthode Delete... 683 La méthode Refresh... 684 18.4 La classe File... 685 La méthode Copy... 686 La méthode Create... 687 La méthode CreateText... 689 La méthode Delete... 690

La méthode Exists... 691 Les méthodes GetAttributes et SetAttributes... 691 La méthode GetCreationTime... 694 La méthode GetLastAccessTime... 695 La méthode GetLastWriteTime... 696 La méthode Move... 696 Les méthodes Open... 697 La méthode OpenRead... 701 La méthode OpenWrite... 702 La méthode OpenText... 703 Les méthodes SetCreationTime, SetLastAccessTime et SetLastWriteTime... 703 18.5 La classe FileInfo... 705 Le constructeur de la classe FileInfo... 705 La propriété Exists... 706 La propriété Attributes... 706 La propriété CreationTime... 710 La propriété Extension... 710 La propriété Directory... 711 La propriété DirectoryName... 712 Les propriétés FullName et Name... 712 Les propriétés LastAccessTime et LastWriteTime... 713 La propriété Length... 714 La méthode Delete... 715 La méthode Refresh... 716 La méthode AppendText... 717 La méthode CopyTo... 717 La méthode MoveTo... 719 La méthode Create... 721 La méthode CreateText... 721 Les méthodes Open... 721 La méthode OpenRead... 725 La méthode OpenWrite... 726 La méthode OpenText... 726 Les exceptions pour éviter les erreurs... 727 18.6 Les flux... 727 La classe Stream... 728 La classe FileStream... 732 Les classes de lecture et d écriture... 742

19 C#etXML... 753 19.1 Introduction à XML... 755 Les fichiers binaires... 755 Les fichiers texte... 756 Le balisage... 757 SGML... 758 Les origines de XML... 759 Les parseurs... 760 19.2 L écriture de XML... 761 L arborescence des fichiers xml... 762 Le langage XML... 764 Les commentaires... 766 Les attributs... 768 La déclaration XML... 770 Les caractères spéciaux... 771 Les espaces vierges... 772 19.3 La transformation en XML... 775 XSLT... 776 19.4 XML et C#... 783 La classe XmlDocument... 783 Les nœuds d un XML... 786 Le déplacement de nœud en nœud... 789 La création d un élément d arbre... 790 La création d un attribut... 791 La classe XmlAttributeCollection... 793 La transformation d un xml via un xslt... 798 19.5 XmlTextReader... 799 Les constructeurs... 800 La lecture d un document xml... 803 19.6 XmlTextWriter... 815 Les constructeurs... 816 L écriture d un document xml... 816 20 La programmation réseau... 827 20.1 Les sockets... 829 La classe TcpClient... 830 La classe UdpClient... 833 La classe TcpListener... 836

La classe Socket... 838 20.2 Les classes WebRequest et WebResponse... 848 La classe WebRequest... 848 La classe WebResponse... 851 La classe Cookie... 854 La classe Dns... 855 20.3 La classe WebClient... 859 Création... 859 Lecture... 859 Écriture... 861 Propriétés... 865 21 La sérialisation... 867 21.1 La sérialisation binaire... 870 Principes de la sérialisation... 870 Sérialisation simple... 872 Sérialisation Sélective... 876 Implémentation de la sérialisation... 877 Gestion des versions... 880 21.2 La sérialisation XML... 880 Sérialisation simple... 881 Contrôle de la sérialisation... 895 Espaces de noms XML... 912 XSD... 914 Messages Soap... 915 22 Les chaînes de caractères... 923 22.1 Le premier contact avec les chaînes... 925 22.2 La classe String... 926 Propriétés de la classe String... 926 Méthodes de la classe String... 926 22.3 La classe StringBuilder... 930 Propriétés de la classe StringBuilder... 931 Méthodes de la classe StringBuilder... 931 22.4 Le formatage d une chaîne... 932

23 La programmation Windows... 935 23.1 La création d une application Windows à la main... 937 23.2 La création d une application Windows sous Visual Studio.NET... 939 23.3 Les caractéristiques communes des contrôles... 947 23.4 Le contrôle Button... 951 23.5 Le contrôle RadioButton... 951 23.6 Le contrôle CheckBox... 952 23.7Le contrôle Label... 954 23.8 Le contrôle TextBox... 954 23.9 Les événements... 955 23.10 Les boîtes de dialogue... 960 Les différentes boîtes de dialogue... 960 23.11 La récupération du retour d une boîte de dialogue... 975 24 Les bases de données... 977 24.1 Historique des bases de données... 979 Historique commun à toutes les sociétés... 979 Parcours de Microsoft... 980 Origine d ADO.NET... 980 24.2 Fonctionnement d ADO.NET... 981 24.3 Qu est-ce qu une base de données?... 982 24.4 Plan du chapitre... 983 24.5 Construire sa base de données... 983 La classe DataColumn : manipulation de colonnes... 985 La classe DataColumnCollection... 1002 La classe DataRow... 1022 La classe DataRowCollection... 1065 La classe DataTable... 1078 La classe DataTableCollection... 1107 La classe DataSet... 1118 24.6 La classe PropertyCollection... 1144 Ajout d une propriété... 1144 Lecture d une propriété... 1145 Effacer une propriété... 1146 24.7Constraint et ConstraintCollection : les contraintes... 1149 La classe UniqueConstraint... 1149

La classe ForeignKeyConstraint... 1152 La classe ConstraintCollection... 1155 24.8 Les relations... 1157 24.9 La connexion à une base de données... 1161 Travailler avec le provider OleDb... 1162 Travailler avec le provider SQL... 1187 25 ASP.NET et C#... 1211 25.1 Un premier exemple... 1213 25.2 Un deuxième exemple... 1218 25.3 Les scripts C# dans les fichiers ASP.NET... 1221 25.4 Les différents contrôles web... 1222 Les membres généraux des composants web... 1223 Les membres particuliers des composants web... 1224 25.5 Un troisième exemple... 1229 25.6 Un quatrième exemple, la création d une application web avec Visual Studio... 1233 L objet Application et Session... 1240 Utiliser les objets Application et Session... 1242 25.7Suite du quatrième exemple... 1243 Modification de la première page... 1245 26 Trois programmes en exemple... 1253 26.1 FrogIRC... 1255 26.2 Packer... 1255 26.3 Makeworld... 1256 27 Annexes... 1257 27.1 Les mots clés du langage... 1259 27.2 Les différents types du langage C#... 1259 27.3 Les 256 premiers caractères du code Unicode... 1260 27.4 La table des caractères ASCII... 1261 27.5 Les exceptions courantes du langage C#... 1271 27.6 Les options de la ligne de commande... 1272 Fichiers générés... 1273 Assemblys.NET... 1273

Débogage... 1273 Préprocesseur... 1274 Ressource... 1274 Divers... 1275 Exemples... 1275 27.7 La documentation XML... 1276 27.8 Les paramètres de la ligne de commande... 1289 27.9 Lecture/écriture sur l entrée/sortie standard... 1290 La méthode Write... 1290 La méthode WriteLine... 1299 Changement du caractère de fin de ligne... 1299 La méthode Read... 1300 La méthode ReadLine... 1300 27.10 Les entrées-sorties asynchrones... 1301 Première implementation : E/S asynchrones... 1302 Deuxième implémentation : E/S synchrones... 1306 27.11 Les correspondances entre les types XSD et les types.net... 1309 27.12 Les attributs... 1311 Syntaxe... 1312 Les attributs du langage... 1314 27.13 La compilation de plusieurs fichiers source... 1316 28 Index... 1317