Le langage C Partie 1 Plan Les bases
Le langage C# : Partie 1
Plan • Les bases du langage • C# et l’orienté objet • Classes et librairies utiles 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 2
Le langage C# Les bases du langage 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 3
C# : Quick and Dirty • Structure d’un programme C# using System; using System. Collections. Generic; using System. Linq; using System. Text; • Importation des bibliothèques • Déclaration des packages • Déclaration des classes • Attributs et méthodes 30/11/2020 namespace Hello. World { class Program { static void Main(string[] args) { Console. Write. Line("Mon premier programme C# !! "); } } } ENSA Marrakech - JAKJOUD Abdeslam 4
Commentaires • Différence entre commentaire et documentation de code • // • /*…. . */ • /// 30/11/2020 using System; using System. Collections. Generic; using System. Linq; using System. Text; namespace Hello. World { /// <summary> /// Petit descriptif de la classe /// </summary> class Program { static void Main(string[] args) { // Un commentaire /* Un autre commentaire */ Console. Write. Line("Mon premier programme C# !! "); } } } ENSA Marrakech - JAKJOUD Abdeslam 5
Les identificateurs • Le premier caractère doit être une lettre (az, A-Z) ou le caractère ‘_’; • Les caractères suivants peuvent être des lettres, des chiffres ou le caractère ‘_’; • On peut utiliser des mots réservés comme identificateurs à condition de les préfixer de ‘@’. 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 6
Les identificateurs Identificateur Etat A 87_II Accepté 7 ABCD Refusé _AAAA Accepté @int Accepté Z+f Refusé 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 7
Types de données • Les types valeurs – Gestion optimisée de la mémoire – Simplicité de la structure – Mémoire : Pile • Les types objets – Gestion non optimisée de la mémoire – Complexité de la structure – Mémoire : heap 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 8
Les types entiers • • byte short ushort int uint long ulong 30/11/2020 8 bites 16 bites 32 bites 64 bites ENSA Marrakech - JAKJOUD Abdeslam 9
Correspondance avec les types objets Type valeur Type objet byte Byte sbyte Sbyte short Int 16 ushort UInt 16 int Int 32 uint UInt 32 long Int 64 ulong UInt 64 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 10
Autres types • • Booléen : bool Réel : float, double, decimal Caractère : char Chaine de caractères : Type objet sous les noms string et String 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 11
Les structures de données • Entité regroupant plusieurs informations de types hétérogènes struct eleve { int numero_inscription; string nom; float moyenne; } 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 12
Les énumérations • Données statiques et connues avant le runtime. enum Type. Ouverture { Lecture, Ecriture } 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 13
Tableaux • Dans le même sens où Java traite les tableaux • Un certain nombre de méthodes pour simplifier l’usage (Sort, Copy, …) 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 14
Entrées / sorties • L’objet Console • Les méthodes Read/Read. Key • Les méthodes Write/Write. Line 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 15
Présentation Framework. NET Les mécanismes de base 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 16
Les tests logiques if(condition_logique) { // Traitement si la condition est vérifiée } else { // Traitement sinon } 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 17
Les tests logiques switch(variable) { case valeur 1 : //…. . break; case valeur 2 : //…. . break; default : //…. . break; } 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 18
Les boucles et enumérateurs • For : for (int i=0 ; i < N ; i ++) // ………. • While : while (condition) //……………. • Foreach : foreach(element in collection) //……………. 30/11/2020 ENSA Marrakech - JAKJOUD Abdeslam 19
- Slides: 19