Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Conversion de Types de Base | Gestion des Types de Données
Bases de C#

bookConversion 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

main.cs

copy
1234
int 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

main.cs

copy
123456789101112131415
using 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

main.cs

copy
123456789101112131415
using 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); } } }
question mark

Lesquelles des affirmations ci-dessous sont correctes ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 11

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

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

bookConversion 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

main.cs

copy
1234
int 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

main.cs

copy
123456789101112131415
using 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

main.cs

copy
123456789101112131415
using 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); } } }
question mark

Lesquelles des affirmations ci-dessous sont correctes ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 11
some-alt