Comprendre la conversion de types en C# : conversion implicite et explicite expliquée
La conversion de types consiste à transformer un type de données en un autre type. On l'appelle aussi cast. En C#, la conversion de types prend deux formes :
Conversion implicite : ces conversions sont effectuées automatiquement par C# de manière sûre. Par exemple, les conversions des types entiers plus petits vers des types plus grands, et des classes dérivées vers les classes de base.
Conversion explicite : ces conversions sont réalisées délibérément par le développeur à l'aide d'opérateurs de cast prédéfinis. Elles nécessitent un opérateur de cast.
Exemple de conversion explicite
L'exemple suivant montre une conversion explicite de double vers int :
using System;
namespace ConversionTypeApplication
{
class ConversionExplicite
{
static void Main(string[] args)
{
double d = 5673.74;
int i;
// cast double vers int
i = (int)d;
Console.WriteLine(i);
Console.ReadKey();
}
}
}
Résultat :
5673
Méthodes de conversion de types intégrées
C# fournit les méthodes de conversion suivantes via la classe Convert :
| Méthode | Description |
|---|---|
ToBoolean | Convertit un type en valeur booléenne, si possible. |
ToByte | Convertit un type en octet (byte). |
ToChar | Convertit un type en caractère Unicode unique, si possible. |
ToDateTime | Convertit un type (entier ou chaîne) en structure date-heure. |
ToDecimal | Convertit un type à virgule flottante ou entier en type decimal. |
ToDouble | Convertit un type en double précision. |
ToInt16 | Convertit un type en entier 16 bits. |
ToInt32 | Convertit un type en entier 32 bits. |
ToInt64 | Convertit un type en entier 64 bits. |
ToSByte | Convertit un type en octet signé. |
ToSingle | Convertit un type en nombre à virgule flottante simple précision. |
ToString | Convertit un type en chaîne de caractères. |
ToType | Convertit un type en type spécifié. |
ToUInt16 | Convertit un type en entier non signé 16 bits. |
ToUInt32 | Convertit un type en entier non signé 32 bits. |
ToUInt64 | Convertit un type en entier non signé 64 bits. |
Exemple : conversion vers string
using System;
namespace ConversionTypeApplication
{
class ConversionString
{
static void Main(string[] args)
{
int i = 75;
float f = 53.005f;
double d = 2345.7652;
bool b = true;
Console.WriteLine(i.ToString());
Console.WriteLine(f.ToString());
Console.WriteLine(d.ToString());
Console.WriteLine(b.ToString());
Console.ReadKey();
}
}
}
Résultat :
75
53.005
2345.7652
True
Langue C
- Maîtriser la conversion de types en C# : Implicite, Explicite, Parse et méthodes Convert
- Maîtriser la conversion et le transtypage de types en Python : Guide complet
- Maîtriser les nombres, la conversion de types et les mathématiques en Python
- Maîtriser le transtypage Java : De l'élargissement au rétrécissement et au-delà
- Maîtriser les Génériques Java : Simplifier le tri et renforcer la sécurité de type
- ASTM A1018 Grade CS Type B : Spécifications de l'acier faible en carbone
- ASTM A424 Grade Type II : Spécifications et performances de l'acier
- ASTM A424 Grade Type I : Propriétés clés et performances
- ASTM A792 Grade CS Type A – Propriétés et Spécifications Détaillées