006 Convertir les Types de Données C#

Cette nouvelle vidéo explique les types de données de C# dans Visual Studio 2013, qui correspondent à des définitions sous-jacentes du système de type commun (CTS, Common Type System) du Framework .Net. Elle fournit la liste des types de données avec leurs caractéristiques.

Elle traite aussi de la technique de la conversion d’entiers en chaines de caractères et de la conversion de chaines de caractères avec des valeurs numériques en entier.

Dans la vidéo précédente, vous avez définit des variables que vous avez typées.

Visual Studio donne des informations supplémentaires sur le type int. Une structure de type System.int32 représente un entier signé sur 32 bits. Cette information vous donne la correspondance entre le type de données C# int et le type de données .Net. Autrement dit, int représente le type de données System.int32 dans le Framework .Net.

Tous les langages du Framework .Net qui manipulent quelque chose qui ressemble à notre int, utilisent la structure System.int32. D’ailleurs, vous pouvez remplacer int par System.int32. Votre programme va parfaitement fonctionner. Vous pouvez le vérifier en cliquant sur le bouton Démarrer.

Vous remarquerez que vous retrouvez le même System que le System de la première ligne using. Donc, vous n’êtes pas obligé de préfixer par System et écrire simplement int32. En cliquant sur le bouton Démarrer, vous pouvez vérifier que le programme fonctionne toujours. Revenez aux types C#.

Types Entiers

Types EntiersTypes Entiers

Dans ce tableau, vous avez plusieurs types de données C# pour les entiers.

Ces types de données C# correspondent tous à des types de données .NET. Pour chacun de ces types de données, vous avez des plages d’entiers. Il y a de nombreux choix pour les types de données d’entiers.

Dans vos premiers programmes, vous utiliserez certainement les types byte ou int pour les entiers. Ces types de données sont utilisées pour stocker des données entières.

Types Flottants

Types FlottantsTypes Flottants

Vous pouvez stocker des données avec des décimales, ou des nombres très grands, que l’on appelle des flottants.

Vous avez aussi la possibilité de jouer sur la précision, en fonction des besoins de votre programme.

Types Caractères et Logique

Types Caractères et LogiqueTypes Caractères et Logique

Un troisième type de données sont les caractères et logique.

Notamment pour les types de données de type caractères, vous avez le type char et le type string. Le type string a déjà été utilisé pour la variable monMessageBienvenue, qui correspond au type .NET System.String. Bien évidemment, c’est une suite de caractères.

Vous pouvez aussi le vérifier en survolant avec la souris et vous voyez apparaître System.String. Quand vous commencez à taper string, IntelliSense vous affiche deux choix string. Le premier string correspond au type C#. Le second correspond au type .Net.

Types Date et Heure

Il existe un quatrième type de données .NET qui n’a pas d’équivalent C#.

Types Date et HeureTypes Date et Heure

C’est tout ce qui concerne les dates et heures. En particulier vous avez le type de données .Net System.DateTime. Vous pouvez définir une variable intitulée Maintenant. Elle se voit affectée la date et l’heure courante. La ligne dessous affiche le résultat.

Convertir int en string

Dans le programme, enlevez les messages inutiles et gardez uniquement l’affichage du message de bienvenue.

Votre objectif est de convertir une variable de type int dans une variable de type string, c’est-à-dire dans une chaîne de caractères. Pour cela vous créez une chaîne de caractères nommée monMessageComplet.

Cette variable est la concaténation du contenu de la variable monMessageBienvenue plus le contenu de la variable monAge, plus la chaîne  » ans ».

Vous allez aussi modifier le message de bienvenue, en tapant : « Vous avez « . Puis vous remplacez le paramètre de la méthode Console.WriteLine() par la variable monMessageComplet. Dans cette variable, vous avez concaténé une chaîne de caractère avec une variable locale entière et une autre chaîne de caractères fixe.

Visual Studio a supposé que le contenu de la variable monAge devait être converti en une chaîne de caractères. Vous pouvez vérifier qu’il n’y a pas d’erreur en compilant et en démarrant le programme.

Toutefois, il est préférable de demander explicitement la conversion du contenu de la variable monAge en un contenu de type string (chaîne de caractères).

Il existe une méthode qui permet de transformer le contenu d’une variable numérique en un contenu de type string. Si cela paraît étrange d’appliquer une méthode, notamment la méthode ToString(), à une variable. Il faut savoir que la variable est elle-même issue d’un type .NET qui s’appelle System.Int32. Le type System.Int32 possède une méthode qui s’appelle ToString().

Cette méthode permet de convertir explicitement une chaîne numérique en une chaîne de type string. Vous pouvez vérifier que votre programme fonctionne bien en le compilant et en le lançant.

Convertir string en int

Vous pouvez aussi convertir dans l’autre sens.

C’est-à-dire que vous souhaitez récupérer une valeur numérique qui est stockée dans une variable de type string dans une variable de type int.

Mettez en commentaire votre ligne précédente. Pour mettre en commentaire, tapez deux barres obliques (« // ») devant la ligne. Cela indique au compilateur de ne pas tenir compte de la ligne.

Créez la variable de type string, nommée monAgeDouble, qui va contenir la valeur numérique. Ensuite, vous créez une variable de type int, nommée monAgex2 qui est égale à monAgeDouble. Sauf que Visual Studio râle puisqu’effectivement il ne peut pas convertir implicitement le contenu du type string en int.

Pour le faire, il faut utiliser la méthode Parse().

Cette méthode va extraire le contenu de la variable de type string pour le mettre dans la variable de type entier (int). Ensuite il ne reste plus qu’à utiliser la valeur. Par exemple, en affichant « Votre âge est :  » + monAgeNum. Cela va fonctionner mais il est préférable d’appliquer la méthode ToString() pour faire la conversion explicite en chaîne de caractères.

Vous allez aussi vérifier que le contenu de la variable monAgex2 est bien numérique.

Pour cela, vous créez une nouvelle variable de type int, nommée monAgeNum qui est égale à monAgex2 / 2 Mettez en commentaires les lignes inutiles.

Pour résumer, monAgeDouble, qui est de type string, contient une valeur numérique. Le contenu de monAgeDouble est converti dans monAgex2, qui est de type int, et la variable monAgeNum = monAgex2 / 2.

Program.csProgram.cs

Vérifiez que tout fonctionne : ça fonctionne bien.

Téléchargez la vidéo : 006 Convertir les Types de Données C#.

Téléchargez les exemples de code.

Tous les articles sur le développement en C#.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *