English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La conversion de type est fondamentalement une铸造 de type, ou autrement dit, la conversion des données d'un type à un autre type. En C#, il existe deux formes de casting :
Conversion de type implicite - Ces conversions sont des conversions par défaut sécurisées en C#, qui ne causent pas de perte de données. Par exemple, la conversion d'un type d'entier de petite taille en un type d'entier de grande taille, la conversion d'une classe dérivée en une classe de base.
Conversion de type explicite - La conversion de type explicite, c'est-à-dire la conversion de type forceée. La conversion explicite nécessite l'opérateur de conversion forceée et peut entraîner la perte de données.
L'exemple suivant montre une conversion de type explicite :
namespace TypeConversionApplication { class ExplicitConversion { static void Main(string[] args) { double d = 5673.74; int i; // Conversion forceée de double en int i = (int)d; Console.WriteLine(i); Console.ReadKey(); } } }
Lorsque le code suivant est compilé et exécuté, il produit le résultat suivant :
5673
C# fournit les méthodes de conversion de type intégrées suivantes :
Numéro | Méthode & Description |
---|---|
1 | ToBoolean Convertir le type en type booléen si possible. |
2 | ToByte Convertir le type en type de byte. |
3 | ToChar Convertir le type en type de caractère Unicode si possible. |
4 | ToDateTime Convertir un type (entier ou type de chaîne) en date-Structure de temps. |
5 | ToDecimal Convertir un type de nombre flottant ou de type entier en type décimal. |
6 | ToDouble Convertir le type en type de nombre flottant double. |
7 | ToInt16 Convertir le type en 16 Type d'entier. |
8 | ToInt32 Convertir le type en 32 Type d'entier. |
9 | ToInt64 Convertir le type en 64 Type d'entier. |
10 | ToSbyte Convertir le type en type de byte signé. |
11 | ToSingle Convertir le type en type de nombre flottant simple. |
12 | ToString Convertir le type en type de chaîne de caractères. |
13 | ToType Convertir le type en type spécifié. |
14 | ToUInt16 Convertir le type en 16 Type d'entier sans signe. |
15 | ToUInt32 Convertir le type en 32 Type d'entier sans signe. |
16 | ToUInt64 Convertir le type en 64 Type d'entier sans signe. |
L'exemple suivant convertit différents types de valeurs en chaînes de caractères :
namespace TypeConversionApplication { class StringConversion { 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(); } } }
Lorsque le code suivant est compilé et exécuté, il produit le résultat suivant :
75 53.005 2345.7652 True