Claude Couderc Consulting

Type de données CSharp : Convertir

Cette nouvelle vidéo explique ce qu’est un type de données de C# dans Visual Studio. Les types de données correspondent à des définitions sous-jacentes du système de type commun (CTS, Common Type System) du Framework .Net.

Notamment, cette vidéo 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.

De plus, 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. Ensuite, vous pouvez le vérifier en cliquant sur le bouton Démarrer.

Puis, 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#.

Type de données Entiers

Type de données Entiers
Type de données Entiers

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

Notamment, 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.

Type de données Flottants

Types Flottants
Types 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.

Type de données Caractères et Logique

Types Caractères et Logique
Types 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.

Type de données Date et Heure

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

Types Date et Heure
Types 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 un type de données entier (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 un type de données caractères (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.cs
Program.cs

Vérifiez que tout fonctionne. En effet, ça fonctionne bien.

Claude COUDERC

Ajouter un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.