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
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Bases de C#

bookConversion de Types de Base

La conversion de type est le processus de transformation d'une valeur d'un type de données à un autre. Cela est souvent possible entre des types représentant 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 conversion de type : conversion de type implicite et conversion de type explicite.

La conversion de type 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

La conversion de type 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 en contenir 64, 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 de types de données classés du plus petit au plus grand : char -> int -> long -> float -> double

La conversion de type explicite intervient lorsque le programmeur indique explicitement à 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 type plus petit, car certaines données peuvent être perdues. Par exemple, la conversion du 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 ce type de conversion.

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, il faut écrire (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?

bookConversion de Types de Base

Glissez pour afficher le menu

La conversion de type est le processus de transformation d'une valeur d'un type de données à un autre. Cela est souvent possible entre des types représentant 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 conversion de type : conversion de type implicite et conversion de type explicite.

La conversion de type 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

La conversion de type 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 en contenir 64, 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 de types de données classés du plus petit au plus grand : char -> int -> long -> float -> double

La conversion de type explicite intervient lorsque le programmeur indique explicitement à 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 type plus petit, car certaines données peuvent être perdues. Par exemple, la conversion du 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 ce type de conversion.

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, il faut écrire (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