Conversion de Types de Base
Le transtypage (Type Casting) est le processus de conversion d'une valeur d'un type de données à un autre. Cela est souvent possible entre des types qui représentent des nombres. Par exemple, il est possible de convertir un float en int et inversement. Cependant, convertir directement une string en int n'a pas de sens logique et n'est pas possible sans étapes supplémentaires.
Il existe deux types de transtypage : le transtypage implicite et le transtypage explicite.
Le transtypage implicite se produit automatiquement lorsqu'une valeur est convertie d'un type à un autre, généralement d'un type de données plus petit vers un type plus grand.
main.cs
1234int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double
Le transtypage implicite se produit automatiquement lorsqu'un type de données plus petit est converti en un type plus grand. La taille d'un type de données est déterminée par la quantité de données qu'il peut contenir, mesurée en bits. Par exemple, un int peut contenir 32 bits, tandis qu'un long peut contenir 64 bits, donc la conversion d'un int en long se fait automatiquement. De même, un float peut être converti en double sans problème.
Voici une liste des types de données classés du plus petit au plus grand :
char -> int -> long -> float -> double
Le transtypage explicite intervient lorsque vous, en tant que programmeur, indiquez à l'ordinateur de convertir une valeur vers un autre type de données. Cela est nécessaire lors de la conversion d'un type de données plus grand vers un plus petit, car certaines données peuvent être perdues. Par exemple, convertir le float 3.14 en entier donne 3, la partie décimale étant perdue. C'est pourquoi il est nécessaire d'indiquer explicitement à l'ordinateur d'effectuer de telles conversions.
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }
Pour corriger l’erreur dans le code ci-dessus, il est nécessaire de convertir explicitement val1 en une valeur entière.
La syntaxe d’un cast est (datatype) value, par exemple (int) 3.1415. Ainsi, dans ce cas, nous écrirons (int) val1 :
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you give an example of implicit type casting in code?
What happens if I try to cast a string to an int?
Can you explain more about explicit type casting with examples?
Awesome!
Completion rate improved to 1.59
Conversion de Types de Base
Glissez pour afficher le menu
Le transtypage (Type Casting) est le processus de conversion d'une valeur d'un type de données à un autre. Cela est souvent possible entre des types qui représentent des nombres. Par exemple, il est possible de convertir un float en int et inversement. Cependant, convertir directement une string en int n'a pas de sens logique et n'est pas possible sans étapes supplémentaires.
Il existe deux types de transtypage : le transtypage implicite et le transtypage explicite.
Le transtypage implicite se produit automatiquement lorsqu'une valeur est convertie d'un type à un autre, généralement d'un type de données plus petit vers un type plus grand.
main.cs
1234int val1 = 10; long val2 = val1; // int is automatically converted to long float val3 = var1; // int is automatically converted to float double var4 = var1; // int is automatically converted to double
Le transtypage implicite se produit automatiquement lorsqu'un type de données plus petit est converti en un type plus grand. La taille d'un type de données est déterminée par la quantité de données qu'il peut contenir, mesurée en bits. Par exemple, un int peut contenir 32 bits, tandis qu'un long peut contenir 64 bits, donc la conversion d'un int en long se fait automatiquement. De même, un float peut être converti en double sans problème.
Voici une liste des types de données classés du plus petit au plus grand :
char -> int -> long -> float -> double
Le transtypage explicite intervient lorsque vous, en tant que programmeur, indiquez à l'ordinateur de convertir une valeur vers un autre type de données. Cela est nécessaire lors de la conversion d'un type de données plus grand vers un plus petit, car certaines données peuvent être perdues. Par exemple, convertir le float 3.14 en entier donne 3, la partie décimale étant perdue. C'est pourquoi il est nécessaire d'indiquer explicitement à l'ordinateur d'effectuer de telles conversions.
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = val1; // Error: Cannot implicitly convert type 'float' to 'int'. An explicit conversion exists (are you missing a cast?) Console.WriteLine(val1); Console.WriteLine(val2); } } }
Pour corriger l’erreur dans le code ci-dessus, il est nécessaire de convertir explicitement val1 en une valeur entière.
La syntaxe d’un cast est (datatype) value, par exemple (int) 3.1415. Ainsi, dans ce cas, nous écrirons (int) val1 :
main.cs
123456789101112131415using System; namespace ConsoleApp { internal class Program { static void Main(string[] args) { float val1 = 3.14f; int val2 = (int) val1; Console.WriteLine(val1); Console.WriteLine(val2); } } }
Merci pour vos commentaires !