Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

Lorsque vous déclarez une nouvelle variable en C #, vous l'initialisez généralement avec un type de données particulier. Il peut s'agir d'un entier, d'un décimal, d'un booléen, d'une chaîne ou d'un autre type de données.

Vous pouvez convertir une valeur d'un type de données à un autre. Par exemple, si vous convertissez une chaîne en entier, vous devrez d'abord analyser la valeur. Voici quelques façons différentes de convertir et d'analyser des valeurs.

Pourquoi avez-vous besoin de convertir ou d'analyser des données ?

Un exemple de cas où vous devrez peut-être analyser des données est si vous demandez une entrée utilisateur dans une application console C# :

Console. EcrireLigne("Entrez votre âge:");
salaire de chaîne = Console. LireLigne();

Dans ce cas, l'utilisateur saisira une valeur entière, mais l'application la stockera par défaut sous forme de chaîne. Si vous essayez d'utiliser la valeur de chaîne dans des calculs, vous obtenez une erreur de compilation :

Une autre raison de convertir les types de données est d'accéder à certaines méthodes qui ne sont disponibles que pour un type de données spécifique. Par exemple, la structure DateTime contient une fonction qui vous permet d'ajouter des minutes. Si vous utilisiez une chaîne à la place, vous n'auriez pas accès à la méthode :

Vous pouvez également convertir une valeur en un autre type de données si vous avez besoin de suivre la structure de type de données d'un classe créée en C# ou un structure en C#.

Comment convertir et analyser différents types de données

Vous pouvez analyser différents types de données tels que des entiers, des doubles, des types booléens et des types datetime.

Chaînes vers entiers

Pour convertir une chaîne en entier, utilisez la méthode Parse() :

chaîne strInt = "45";
entier int32 = Int32.Parse (strInt);
Console. WriteLine (int32); // sortie: 45

Vous pouvez également analyser la chaîne en nombres entiers de différentes tailles de bits, tels que Int16, Int32 ou Int64.

entier int16 = Int16.Parse (strInt);
Console. WriteLine (int16); // sortie: 45

Si vous utilisez la méthode Parse(), assurez-vous que la valeur de la chaîne représente un entier. Si vous essayez d'analyser une valeur non entière telle que "Bonjour", vous recevrez une erreur d'analyse lors de l'exécution.

chaîne chaîne invalide = "Bonjour";
entier invalidResult = Int32.Parse (invalidString);

Vous pouvez également utiliser la méthode TryParse() pour intercepter toutes les exceptions qui pourraient survenir lors de l'analyse :

entier tryParseResult = 0;

si (Int32.TryParse(invalidString, dehorstryParseResult))
{
Console.WriteLine(tryParseResult);
}
autre
{
Console. EcrireLigne("Quelque chose s'est mal passé");
}

Pour reconvertir un entier en chaîne, utilisez la méthode ToString() :

chaîne intString = 45.ToString();
Console. WriteLine (entString); // sortie: 45

Cordes à Doubles

L'analyse d'une chaîne en un double est très similaire à l'analyse d'un en un entier. Utilisez la méthode Parse() de la classe Double :

chaîne strDouble = "90.5";
double d = Double. Parser (strDouble);
Console. WriteLine (d); // sortie: 90,5

Comme pour les entiers, vous pouvez également utiliser la méthode TryParse() pour détecter les erreurs d'analyse qui pourraient survenir :

chaîne invalidStringDouble = "Bonjour";
double tryParseDouble = 0;

si (Double.TryParse(invalidStringDouble, dehorstryParseDouble))
{
Console.WriteLine(tryParseDouble);
}

Pour convertir un retour double en entier, utilisez la méthode ToString() :

double dDouble = 90.5;
chaîne dString = dDouble. ToString();
Console. WriteLine (dString); // sortie: 90,5

Doubles en entiers

Vous pouvez utiliser la conversion pour convertir un double en entier. Comme un entier ne stocke qu'un nombre entier, la conversion supprimera les décimales. Par exemple, la conversion de "12.34" ne stockera que la valeur "12".

double dValeur = 12.34;
entier iValeur = (entier)dValeur ;
Console. WriteLine (iValeur); // sortie: 12

Vous pouvez également reconvertir un entier en un double :

dValeur = (double)iValeur ;
Console. WriteLine (dValeur); // sortie: 12

Chaînes et valeurs booléennes

Pour convertir une chaîne en booléen, utilisez la méthode Parse() ou ToBoolean() :

chaîne chaîneBool = "Vrai";
bool b = bool. Analyser (stringBool);

// ou

b = Convertir. ToBoolean (stringBool);
Console. WriteLine (b); // sortie: vrai

Pour reconvertir un booléen en chaîne, utilisez la méthode ToString() :

chaîne strTrue = vrai.ToString();
chaîne strFalse = FAUX.ToString();

Entiers et valeurs booléennes

Pour convertir un entier en booléen, utilisez la méthode ToBoolean() pour convertir un "1" ou un "0" en sa valeur booléenne équivalente. La valeur "1" sera convertie en "vrai" tandis que "0" sera converti en "faux":

entier fauxBit = 0;
entier vraiBit = 1;
Console. WriteLine (convertir. ToBoolean (fauxBit)); // sortie: faux
Console. WriteLine (convertir. ToBoolean (trueBit)); // sortie: vrai

Vous pouvez également passer une valeur entière autre que "1" ou "0" à la méthode ToBoolean(). Par défaut, la méthode renverra toujours "true":

entier bit invalide = 8;
Console. WriteLine (convertir. ToBoolean (invalidBit)); // sortie: vrai

Pour reconvertir un booléen en entier, utilisez la fonction Convert. Méthode ToInt32(). La conversion "vrai" renverra un "1", et la conversion "faux" renverra un "0".

bool iBool = vrai;
entier bInt = Convertir. ToInt32(iBool);
Console. WriteLine (bInt); // sortie: 1

Chaînes à DateTime

Pour analyser une chaîne au format datetime, utilisez le DateTime. Méthode Parse() :

DateHeure nouvelleDateHeure = DateHeure. Analyser("01/01/2018 00:00:00");
Console. WriteLine (nouvelleDateHeure); // sortie: 01/01/2018 00:00:00

Pour reconvertir une date/heure en chaîne, utilisez la méthode ToString() :

DateHeure dt = nouveau DateHeure(2018, 1, 1);
chaîne dtString = dt. ToString();
Console. WriteLine (dtString); // sortie: 01/01/2018 00:00:00

Analyse des valeurs vers différents types de données

Vous comprenez maintenant comment convertir des valeurs d'un type de données à un autre. Ce ne sont pas les seules conversions disponibles, alors n'hésitez pas à en savoir plus sur les autres types de données en C#.

Vous pouvez également explorer le fonctionnement d'autres types de données dans d'autres langages, tels que JavaScript.