Conversion de types C#
Conversion de types C#
Dans ce tutoriel, nous allons découvrir la conversion de type C# et ses types à l'aide d'exemples.
Le processus de conversion de la valeur d'un type (int, float, double, etc.) en un autre type est appelé conversion de type.
En C#, il existe deux types de base de conversion de type :
- Conversions de type implicites
- Conversions de types explicites
1. Conversion de type implicite en C#
Dans la conversion de type implicite, le compilateur C# convertit automatiquement un type en un autre.
Généralement, des types plus petits comme int
(ayant moins de taille de mémoire) sont automatiquement convertis en types plus grands comme double
(ayant une plus grande taille de mémoire).
Exemple :Conversion de type implicite
using System;
namespace MyApplication {
class Program {
static void Main(string[] args) {
int numInt = 500;
// get type of numInt
Type n = numInt.GetType();
// Implicit Conversion
double numDouble = numInt;
// get type of numDouble
Type n1 = numDouble.GetType();
// Value before conversion
Console.WriteLine("numInt value: "+numInt);
Console.WriteLine("numInt Type: " + n);
// Value after conversion
Console.WriteLine("numDouble value: "+numDouble);
Console.WriteLine("numDouble Type: " + n1);
Console.ReadLine();
}
}
}
Sortie
numInt value: 500 numInt Type: System.Int32 numDouble value: 500 numDouble Type: System.Double
Dans l'exemple ci-dessus, nous avons créé un int
variable de type nommée numInt .
Remarquez la ligne,
// Implicit Conversion
double numDouble = numInt;
Ici, nous attribuons le int
type variable à un double
variable de type. Dans ce cas, le compilateur C# convertit automatiquement le int
tapez la valeur à double
.
Notez que nous avons utilisé le GetType()
méthode pour vérifier le type de numInt
et numDouble
variable.
Remarque :Dans la conversion de type implicite, les types plus petits sont convertis en types plus grands. Par conséquent, il n'y a aucune perte de données lors de la conversion.
2. Conversion de type explicite C#
Dans la conversion de type explicite, nous convertissons explicitement un type en un autre.
Généralement, des types plus grands comme double
(ayant une grande taille de mémoire) sont convertis en types plus petits comme int
(ayant une petite taille de mémoire).
Exemple :conversion de type explicite
using System;
namespace MyApplication {
class Program {
static void Main(string[] args) {
double numDouble = 1.23;
// Explicit casting
int numInt = (int) numDouble;
// Value before conversion
Console.WriteLine("Original double Value: "+numDouble);
// Value before conversion
Console.WriteLine("Converted int Value: "+numInt);
Console.ReadLine();
}
}
}
Sortie
Original double value: 1.23 Converted int value: 1
Dans l'exemple ci-dessus, nous avons créé un double
variable nommée numDouble . Remarquez la ligne,
// Explicit casting
int numInt = (int) numDouble;
Ici, (int)
est une expression de transtypage qui convertit explicitement le double
taper à int
saisir.
Nous pouvons voir que la valeur d'origine est 1,23 alors que la valeur convertie est 1 . Ici, certaines données sont perdues lors de la conversion de type. C'est parce que nous convertissons explicitement le type de données plus grand double
à un type plus petit int
.
Remarque :La conversion de type explicite est également appelée conversion de type.
Conversion de type C# à l'aide de Parse()
En C#, on peut aussi utiliser le Parse()
méthode pour effectuer la conversion de type.
Généralement, lors de la conversion de type entre des types non compatibles comme int
et string
, nous utilisons Parse()
.
Exemple :Conversion de type à l'aide de Parse()
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
string n = "100";
// converting string to int type
int a = int.Parse(n);
Console.WriteLine("Original string value: "+n);
Console.WriteLine("Converted int value: "+a);
Console.ReadLine();
}
}
}
Sortie
Original string value: 100 Converted int value: 100
Dans l'exemple ci-dessus, nous avons converti un string
tapez un int
saisir.
// converting string to int type
int a = int.Parse(n);
Ici, le Parse()
la méthode convertit la chaîne numérique 100 à une valeur entière.
Remarque :Nous ne pouvons pas utiliser Parse()
pour convertir une chaîne textuelle comme "test" en un int
. Par exemple,
String str = "test";
int a = int.Parse(str); // Error Code
Conversion de type C# à l'aide de la classe Convert
En C#, on peut utiliser le Convert
classe pour effectuer la conversion de type. Le Convert
fournit diverses méthodes pour convertir un type en un autre.
Méthode | Description |
ToBoolean() | convertit un type en Boolean valeur |
ToChar() | convertit un type en char taper |
ToDouble() | convertit un type en double taper |
ToInt16() | convertit un type en un int 16 bits taper |
ToString() | convertit un type en string |
Prenons quelques exemples :
Exemple :Convertir int en chaîne et Double
using System;
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create int variable
int num = 100;
Console.WriteLine("int value: " + num);
// convert int to string
string str = Convert.ToString(num);
Console.WriteLine("string value: " + str);
// convert int to Double
Double doubleNum = Convert.ToDouble(num);
Console.WriteLine("Double value: " + doubleNum);
Console.ReadLine();
}
}
}
Sortie
int value: 100 string value: 100 Double value: 100
Dans l'exemple ci-dessus,
- Convert.ToString(a) - convertit un
int
tapez num àstring
- Convert.ToDouble(a) - convertit nombre au
Double
taper
Exemple :Convertir une chaîne en Double et vice-versa
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create string variable
string str = "99.99";
Console.WriteLine("Original string value: " + str);
// convert string to double
Double newDouble = Convert.ToDouble(str);
Console.WriteLine("Converted Double value: " + newDouble);
// create double variable
double num = 88.9;
Console.WriteLine("Original double value: " + num);
// converting double to string
string newString = Convert.ToString(num);
Console.WriteLine("Converted string value: " + newString);
Console.ReadLine();
}
}
}
Sortie
Original string value: 99.99 Converted Double value: 99.99 Original double value: 88.9 Converted string value: 88.9
Dans l'exemple ci-dessus,
- Convert.ToDouble(str) - convertit un
string
tapez chaîne àDouble
- Convert.ToString(num) - convertit un
double
tapez num austring
Exemple 3 :Convertir int en booléen
using System;
namespace Conversion {
class Program {
static void Main(string[] args) {
// create int variables
int num1 = 0;
int num2 = 1;
// convert int to Boolean
Boolean bool1 = Convert.ToBoolean(num1);
Boolean bool2 = Convert.ToBoolean(num2);
Console.WriteLine("Boolean value of 0 is: " + bool1);
Console.WriteLine("Boolean value of 1 is: " + bool2);
Console.ReadLine();
}
}
}
Sortie
Boolean value of 0 is: False Boolean value of 1 is: True
Dans l'exemple ci-dessus, nous avons créé deux variables entières :num1
et num2
avec des valeurs 0 et 1 respectivement. Ici,
- Convert.ToBoolean(num1) - convertit 0 à un
Boolean
valeurFalse
- Convert.ToBoolean(num2) - convertit 1 à un
Boolean
valeurTrue
Remarque :En C#, la valeur entière 0 est considéré False
et toutes les autres valeurs sont considérées True
.
Langue C