English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Conversion de types C#

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 :

Exemple en ligne

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

Méthodes de conversion de type C#

C# fournit les méthodes de conversion de type intégrées suivantes :

NuméroMéthode & Description
1ToBoolean
Convertir le type en type booléen si possible.
2ToByte
Convertir le type en type de byte.
3ToChar
Convertir le type en type de caractère Unicode si possible.
4ToDateTime
Convertir un type (entier ou type de chaîne) en date-Structure de temps.
5ToDecimal
Convertir un type de nombre flottant ou de type entier en type décimal.
6ToDouble
Convertir le type en type de nombre flottant double.
7ToInt16
Convertir le type en 16 Type d'entier.
8ToInt32
Convertir le type en 32 Type d'entier.
9ToInt64
Convertir le type en 64 Type d'entier.
10ToSbyte
Convertir le type en type de byte signé.
11ToSingle
Convertir le type en type de nombre flottant simple.
12ToString
Convertir le type en type de chaîne de caractères.
13ToType
Convertir le type en type spécifié.
14ToUInt16
Convertir le type en 16 Type d'entier sans signe.
15ToUInt32
Convertir le type en 32 Type d'entier sans signe.
16ToUInt64
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 :

Exemple en ligne

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