La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

**Sous-titre du module Campus-Booster ID : **XXXXX www.supinfo.com Copyright © SUPINFO. All rights reserved Notions fondamentales du C# 2.0.

Présentations similaires


Présentation au sujet: "**Sous-titre du module Campus-Booster ID : **XXXXX www.supinfo.com Copyright © SUPINFO. All rights reserved Notions fondamentales du C# 2.0."— Transcription de la présentation:

1 **Sous-titre du module Campus-Booster ID : **XXXXX www.supinfo.com Copyright © SUPINFO. All rights reserved Notions fondamentales du C# 2.0

2 Votre formateur… Titre: **Entrez le titre ou la fonction. Distinctions & expérience: **Ce qui rend le présentateur qualifié pour ce cours. Formation: **Liste des diplômes ou certifications si nécessaire. Publications: **Toutes les publications du présentateur notamment au sujet du cours. Contact: **Campus-Booster ID: presenter@supinfo.com Nom du formateur Notions fondamentales du C# 2.0

3 Objectifs de ce module Utiliser Visual Studio pour créer un programme C# Utiliser des variables de types prédéfinis ou de types utilisateurs Modifier le flux d’exécution en utilisant des instructions spécifiques Utiliser des tableaux Utiliser des méthodes Gérer les exceptions A la fin de ce module, vous saurez : Notions fondamentales du C# 2.0

4 Plan du module Vue d’ensemble du C# 2.0 Types de données Instructions et tableaux Méthodes et gestion d’erreurs Voici les parties que nous allons aborder : Notions fondamentales du C# 2.0

5 Vue d’ensemble du C# 2.0 Notions fondamentales du C# 2.0

6 Plan de la partie Structure d’un programme C# 2.0 Opérations élémentaires d’entrées/sorties Méthodes conseillées Compilation, exécution et débogage Voici les chapitres que nous allons aborder : Vue d’ensemble du C# 2.0

7 Structure d’un programme C# 2.0 Vue d’ensemble du C# 2.0 Méthode Main() Classes Espaces de noms Un programme C# est composé de :

8 Structure d’un programme C# 2.0 Vue d’ensemble du C# 2.0 Point d’entrée du programme Méthode marquée static Type de retour : void ou int La méthode Main() static void Main() { }

9 Structure d’un programme C# 2.0 Vue d’ensemble du C# 2.0 Argument de type string[] Contient les arguments de la ligne de commande La méthode Main() static void Main(string[] args) { }

10 Structure d’un programme C# 2.0 Vue d’ensemble du C# 2.0 Toute méthode, variable, etc… doit être contenue dans une classe Une classe est déclarée avec le mot clé class Les classes class MyClass { }

11 Structure d’un programme C# 2.0 Vue d’ensemble du C# 2.0 Ils regroupent les classes Ils peuvent être imbriqués Les espaces de noms namespace ParentNS.ChildNS { }

12 Structure d’un programme C# 2.0 Vue d’ensemble du C# 2.0 Exemple using System; namespace MyProgram { class HelloWord { static void Main() { Console.WriteLine("Hello World !"); } } }

13 Démonstration Vue d’ensemble du C# 2.0 Démonstration « Hello World »

14 Opérations élémentaires d’entrées / sorties Vue d’ensemble du C# 2.0 Classe Console Opérations de sorties Opérations d’entrées Interaction avec l’utilisateur

15 Classe Console Vue d’ensemble du C# 2.0 Permet d’accéder aux flux : Sortie standard (écran) Erreur standard (écran) Entrée standard (clavier) Les flux peuvent être redirigés Uniquement pour des applications console Accès aux entrées / sorties

16 Opérations de sortie Vue d’ensemble du C# 2.0 Console.Write pour afficher du texte Console.WriteLine pour afficher du texte suivi d’un retour à la ligne Exemples : Affichage à l’écran Console.Write("hello"); Console.WriteLine("world");

17 Opérations d’entrée Vue d’ensemble du C# 2.0 Console.Read pour lire le caractère suivant Console.ReadLine pour lire toute la ligne Exemple : Saisie de valeurs Console.WriteLine("Entrez votre nom :"); string name = Console.ReadLine();

18 Méthodes conseillées Vue d’ensemble du C# 2.0 Conventions de nommage Commentaires Documentation XML Gestion des exceptions Architecture Ecrire des programmes de qualité

19 Conventions de nommage Vue d’ensemble du C# 2.0 Peuvent être librement choisies Doivent être identiques au sein d’une équipe Conventions généralement respectées : « PascalCase » pour : méthodes, classes, namespaces, … « camelCase » pour : variables locales, … Il est possible de préfixer les noms de variables pour indiquer leur type : iRecordCount, …

20 Commentaires Vue d’ensemble du C# 2.0 Commentaires sur une ligne Commentaires multi-lignes Exemples : Faciliter la compréhension du code // Commentaire sur une ligne /* Commentaire multiligne */

21 Documentation XML Vue d’ensemble du C# 2.0 Commentaires rattachés à une classe, une méthode… Syntaxe particulière (/// et balises XML) Documentation accessible par l’IntelliSense et l’explorateur d’objet Documentation générée au format XML Génération de documentation

22 Documentation XML Vue d’ensemble du C# 2.0 Exemple /// /// Calcule le carré d'un entier /// /// Entier a à élever au carré /// Carré de a int Square(int a) { return a; }

23 Démonstration Vue d’ensemble du C# 2.0 Démonstration Commentaires XML

24 Gestion des exceptions Vue d’ensemble du C# 2.0 Une exception est un cas non géré Utilisation d’un bloc try / catch Exemple : try { // Instructions "risquées" } catch(Exception e) { // Gérer l'exception }

25 Architecture Vue d’ensemble du C# 2.0 Buts recherchés : Modularité Réutilisabilité Maintenabilité Evolutivité Architecture 3 couches : Couche présentation Couche métier Couche d’accès aux données

26 Compilation, exécution et débogage Vue d’ensemble du C# 2.0 Compilation Exécution Débogage Démonstration Utilisation de l’environnement de développement

27 Compilation Vue d’ensemble du C# 2.0 Microsoft Intermediate Language (MSIL) Microsoft Intermediate Language (MSIL) Code natif Code C# La compilation se fait en 2 étapes : Compilateur Just-In-Time Compiler (JIT) Compile-timeRun-time

28 Compilation Vue d’ensemble du C# 2.0 En ligne de commande csc.exe msbuild.exe Dans Visual Studio Menu Build > Build Solution Localisation des erreurs

29 Exécution Vue d’ensemble du C# 2.0 En ligne de commande Tapez le nom de l’application Dans Visual Studio Menu Debug > Start Without Debugging Lancement du programme

30 Débogage Vue d’ensemble du C# 2.0 Erreurs et débogage JIT Points d’arrêts et pas-à-pas Espions Examen et modifications des variables Localisation et correction des erreurs

31 Désassemblage Vue d’ensemble du C# 2.0 ildasm.exe Reflector Obfuscateurs Affichage compréhensible de l’IL

32 Démonstration Vue d’ensemble du C# 2.0 Démonstration Débogage & ildasm

33 Questions Vue d’ensemble du C# 2.0

34 Quiz Vue d’ensemble du C# 2.0 Une classe peut appartenir à plusieurs espaces de nom La fonction Main doit être marquée static Visual Studio permet de modifier la valeur d’une variable pendant le débogage Console.Print permet d’afficher du texte à l’écran ildasm.exe permet de visualiser l’IL Quelles sont les propositions vraies ?

35 Types de données Notions fondamentales du C# 2.0

36 Plan de la partie Types de données prédéfinis Types de données définis par l’utilisateur Conversion de types de données Comparaison entre types valeur et types référence Utilisation de références comme paramètres de méthode Voici les chapitres que nous allons aborder : Types de données

37 Types de données prédéfinis Types de données Déclaration de variables locales Attribution de valeurs Opérateurs courants Nous aborderons les points suivants :

38 Déclarations de variables locales Types de données Syntaxe générale : ; Exemples : Syntaxe int count; float price, weight;

39 Déclarations de variables locales Types de données Quelques types de données intégrés : char, byte, int, long, float, double, string Alias vers des types de l’espace de nom System : int → System.Int32 Alias de types int count; // est équivalent à : System.Int32 count;

40 Attributions de valeurs Types de données Syntaxe générale : = ; Exemples : // Les variables sont supposées déclarées count = 4; price = 2.5f; name = "Bob"; count1 = count2 = 0; // Déclaration et initialisation int i = 4;

41 Attributions de valeurs Types de données Ajout d’une valeur à une variable : Syntaxe abrégée : Assignations composées count = count + 5; Count += 5;

42 Attributions de valeurs Types de données Autres abréviations courantes : Assignations composées // count = count * 2; count *= 2; // count = count + 1; count++; // count = count - 1; count--; // etc...

43 Opérateurs courants Types de données La table suivante liste les principaux opérateurs OpérateursSyntaxe (In)égalité Relationnels Conditionnels Arithmétiques Incrément / Décrément == != > || && ?: + - * / % ++ -- Assignation+= -= *= /= %=

44 Types de données définis par l’utilisateur Types de données Types énumération Types structure Nous aborderons les points suivants :

45 Types énumération Types de données Utiles lorsqu'une variable ne peut avoir qu'un ensemble spécifique de valeurs Déclaration : Utilisation : enum Color { Red, Green, Blue } Color colorPalette = Color.Red; Console.Write(colorPalette); // Affiche "Red"

46 Types structure Types de données Regroupement de variables Peut contenir des méthodes Peut contenir un constructeur pour initialiser les valeurs Définition

47 Types structure Types de données Déclaration : Utilisation : Syntaxe Employee emp; emp.FirstName = "Jean"; emp.Age = 23; struct Employee { public string FirstName; public int Age; }

48 Conversions de données Types de données Conversions implicites Conversions explicites Fonctions de conversions Il existe trois types de conversions de données :

49 Conversions implicites Types de données Généralement possible s’il ne peut y avoir de pertes de données Exemple : int vers long La conversion ne peut pas échouer int intValue = 5; long longValue = intValue;

50 Conversions explicites Types de données La conversion doit être explicite s’il y a une perte possible d’informations Exemple : long vers int Par défaut le compilateur ne génère pas d’exception en cas de débordement Opération de « cast » long longValue = 5.0f; int intValue = (int)longValue;

51 Fonctions de conversions Types de données Certaines conventions demandent un traitement des données Exemple : chaine de caractères vers entier Parsing string str = "1234"; int i = int.Parse(str);

52 Types valeur et types référence Types de données Il existe deux types de variables : Variables de type référence Variables de type valeur Leur comportement est différent Elles sont stockées dans des zones mémoires distinctes : la pile et le tas

53 Démonstration Types de données Démonstration Types valeur Types références

54 Cas des types valeur Types de données PileTas Les types valeur sont stockés dans la pile StructEmployee emp1; StructEmployee emp2 = emp1; emp1 : « Jean », 23 emp2 : « Jean », 23

55 Cas des types référence Types de données PileTas Les types référence sont stockés dans le tas ClassEmployee emp1; ClassEmployee emp2 = emp1; « Jean », 23 emp1 : Référence emp2 : Référence

56 Types valeur Types de données Les types valeurs incluent : Les types numériques bool, char Les énumérations Les structures

57 Types référence Types de données Les types références incluent : Les classes Les tableaux Les délégués La classe string est un cas à part, c’est une classe qui se comporte comme un type valeur

58 Paramètres par valeur Types de données Utilisation d’une référence comme paramètre de méthode : Une copie de la référence est fournie à la méthode Les données référencées peuvent être modifiées par la méthode

59 Paramètres par référence Types de données Utilisation d’une valeur comme paramètre de méthode : Une copie de la valeur est fournie à la méthode La méthode peut modifier la copie mais pas les données originales Le comportement d’un type par référence peut être forcé à l’aide du mot clé ref

60 Démonstration Types de données Démonstration Paramètres par valeur / référence

61 Questions Types de données

62 Quiz Types de données Les types numériques Les classes Les chaines de caractères Les structures Les tableaux Parmi les types suivant, lesquels sont des types valeur ?

63 Instructions et tableaux Notions fondamentales du C# 2.0

64 Plan de la partie Introduction aux instructions Instructions conditionnelles Instructions itératives Instructions de saut Introduction aux tableaux Voici les chapitres que nous allons aborder : Instructions et tableaux

65 Introduction aux instructions Instructions et tableaux Instructions exécutées les unes après les autres Certaines instructions modifient le flux d’exécution Conditions Itérations Sauts

66 Instructions conditionnelles if / then / else Instructions et tableaux Permet d’exécuter une instruction si une condition est vraie if (a == 5) Console.Write("a == 5"); else if (a == 10) Console.Write("a == 10"); else Console.Write("a != 5 && a != 10");

67 Instructions conditionnelles Types de données Une instruction peut être remplacée par un bloc if (a == 5 || a == 10) { Console.Write("a == 5..."); Console.Write(“ou a == 10"); }

68 Instructions conditionnelles Opérateur ternaire Instructions et tableaux Exemple : Equivalent à : if (b > 0) a = 1; else a = 2; a = (b > 0 ? 1 : 2);

69 Instructions conditionnelles switch Instructions et tableaux Exécute des instructions en fonction de la valeur d’une variable switch(a) { case 1: Console.Write("a == 1"); break; case 2: Console.Write("a == 2"); break; default: Console.Write("a != 1 && a != 2"); break; }

70 Instructions itératives Types de données Permettent d’exécuter une instruction plusieurs fois for foreach while do / while

71 Instructions itératives Boucle for Instructions et tableaux Exemple : // Affiche les nombres de 1 à 10 for (int i = 1; i <= 10; i++) { Console.WriteLine(i); }

72 Instructions itératives Boucle foreach Instructions et tableaux Permet d’itérer dans un ensemble de données Exemple : // Affiche les nombres de 1 à 10 int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; foreach (int i in array) { Console.WriteLine(i); }

73 Instructions itératives Boucle while Instructions et tableaux Exemple : // Affiche les nombres de 1 à 10 int a = 1; while (a <= 10) { Console.WriteLine(i); i++; }

74 Instructions itératives Boucle do / while Instructions et tableaux Exemple : Contrairement à while, le bloc do / while est exécuté au moins 1 fois // Affiche les nombres de 1 à 10 int i = 1; do { Console.WriteLine(i); i++; } while (i <= 10);

75 Instructions de saut break Instructions et tableaux break interrompt la boucle en cours L’exécution reprend juste après la boucle // Affiche les nombres de 1 à 5 for (int i = 1; i <= 10; i++) { if (i == 6) break; Console.WriteLine(i); }

76 Instructions de saut continue Instructions et tableaux Saute l’itération en cours L’exécution reprend sur l’itération suivante // Affiche les nombres de 1 à 10 sauf 5 for (int i = 1; i <= 10; i++) { if (i == 5) continue; Console.WriteLine(i); }

77 Instructions de saut goto Instructions et tableaux Branche l’exécution sur une ligne donnée L’utilisation de goto n’est pas considéré comme un style de programmation « propre » Utile pour sortir de boucles imbriquées

78 Instructions de saut goto Instructions et tableaux Exemple : for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (i == 5) goto out_of_loop; } out_of_loop: Console.Write("Fin");

79 Introduction aux tableaux Instructions et tableaux Suite d’éléments du même type Accessibles par un index Type référence … index 3 index 0

80 Introduction aux tableaux Tableaux à 1 dimension Instructions et tableaux Déclaration : Utilisation : // Crée un tableau de 10 entiers int[] array = new int[10]; for (int i = 0; i < array.Length; i++) { array[i] = i * i; } // Affiche 25 Console.Write(array[5]);

81 Introduction aux tableaux Tableaux à 2 dimensions Instructions et tableaux Déclaration : Utilisation : // Crée un tableau de 10x10 entiers int[,] array = new int[10,10]; for (int i = 0; i < array.GetLength(0); i++) for (int j = 0; j < array.GetLength(1); j++) { array[i, j] = i * j; }

82 Questions Instructions et tableaux

83 Quiz Instructions et tableaux if for while switch foreach Parmi les structures suivantes, lesquelles sont des boucles ?

84 Méthodes et gestions d’erreurs Notions fondamentales du C# 2.0

85 Plan de la partie Utilisation des méthodes Utilisation des paramètres Gestion des erreurs Voici les chapitres que nous allons aborder : Méthodes et gestion d’erreurs

86 Remarque Méthodes et gestion d’erreurs Utilisation du mot clé static

87 Utilisation des méthodes Déclaration Méthodes et gestion d’erreurs ( ) { … } Exemples : static int Square(int i) { // Instructions... } static void Initialize() { // Instructions... }

88 Utilisation des méthodes Appel Méthodes et gestion d’erreurs ( ) ; Exemples : int sq = Square(5); Initialize();

89 Utilisation des méthodes Retour d’une valeur Méthodes et gestion d’erreurs Mot clé return Exemples : static int Square(int i) { return i * i; // Renvoi de valeur } static void Initialize() { //... if (a == 5) return; // Sortie prématurée //... }

90 Utilisation des paramètres Fonctions à plusieurs paramètres Méthodes et gestion d’erreurs Séparer les paramètres par des virgules Exemple : static int Add(int a, int b) { return a + b; } int result = Add(4, 2);

91 Utilisation des paramètres Paramètres de sortie Méthodes et gestion d’erreurs Déclaration Exemple int quotient, remainder; Divide(20, 3, out quotient, out remainder); Console.WriteLine("10 = 3 * {0} + {1}", quotient, remainder); void Divide(int n, int d, out int quotient, out int remainder) { quotient = n / d; remainder = n % d; }

92 Utilisation des paramètres Surcharge de méthodes Méthodes et gestion d’erreurs Deux méthodes peuvent avoir le même nom si elles ont des paramètres de types différents Exemple : Le compilateur détermine quelle méthode doit être appelée en fonction du type des valeurs passées en paramètres static int Square(int i) {... } static float Square(float f) {... }

93 Utilisation des paramètres Nombre de paramètres variables Méthodes et gestion d’erreurs Utilisé pour une fonction dont on ne connaît pas à l’avance le nombre de paramètres Utilisation du mot clé params : static int Sum(params int[] values) { int result = 0; foreach (int i in values) result += i; return result; } int sum = Sum(4, 2, 5, 5);

94 Gestion d’erreurs try / catch / finally Méthodes et gestion d’erreurs Bloc de gestion d’exception : try { // Instructions "risquées" } catch (Exception ex) { // Gestion de l'exception } finally { // finally est toujours exécuté }

95 Gestion d’erreurs Levée d’exception Méthodes et gestion d’erreurs Utilisation du mot clé throw Exemple : static float Divide(int a, int b) { if (b == 0) throw new Exception("Erreur de division par zéro dans Divide()"); else return a / b; }

96 Démonstration Méthodes et gestion d’erreurs Démonstration Gestion d’erreurs

97 Questions Méthodes et gestion d’erreurs

98 Deux méthodes peuvent avoir le même nom Un type valeur peut être passé en paramètre par référence en utilisant le mot clé byref Une méthode peut ne pas renvoyer de valeur Une méthode peut avoir un nombre de paramètres variables Quiz Méthodes et gestion d’erreurs Vrai Faux Vrai Faux Vrai Faux Vrai Faux

99 Instructions de base Type de données, tableaux Type de données, tableaux Structure d’un programme C# Méthodes, Gestion d’erreurs Méthodes, Gestion d’erreurs Résumé du module Utilisation de Visual Studio Notions fondamentales du C# 2.0

100 On peut implicitement convertir un long en float Par convention, les noms de méthodes sont écris en « camelCase » Les structures sont un type valeur Dans un block try / catch / finally, si une exception est levée le bloc finally n’est pas exécuté Quiz Notions fondamentales du C# 2.0 Vrai Faux Vrai Faux Vrai Faux Vrai Faux

101 Félicitations Vous avez suivi avec succès le module de cours Notions fondamentales du C# 2.0

102 Fin Notions fondamentales du C# 2.0


Télécharger ppt "**Sous-titre du module Campus-Booster ID : **XXXXX www.supinfo.com Copyright © SUPINFO. All rights reserved Notions fondamentales du C# 2.0."

Présentations similaires


Annonces Google