c type casting explicit implicit data conversion with example
Conversion de type de données en C # avec des exemples: ce didacticiel explique la conversion explicite et implicite, la conversion en chaîne et la conversion de type de données à l'aide de classes d'assistance:
Types de données et variables en C # ont été expliqués en détail dans notre précédent tutoriel.
Nous avons appris comment un type de données peut être converti en un autre type de données à l'aide de la conversion de type. Le typage est divisé en deux parties, à savoir la conversion implicite et explicite.
Examinons plus en détail le cast de type C # dans ce didacticiel.
=> Recherchez le guide de formation Easy C # ici
meilleure entreprise de récupération de données de disque dur
Il s'agit d'une conversion implicite lorsqu'un type de données plus petit est converti en un type de données plus grand ou une classe dérivée en une classe de base.
D'autre part, la conversion dans la direction opposée est appelée conversion explicite. Il a besoin d'un opérateur de conversion pour convertir un type de données supérieur en un type de données plus petit. Ce type de conversion n'est pas de type sécurisé et peut entraîner une perte de données.
Ce que vous apprendrez:
Casting de type de données en C #
Dans ce didacticiel, nous expliquerons en détail comment un type de données peut être converti en un autre type de données. C # est de type statique lors de la compilation, ce qui signifie qu'après la déclaration d'une variable, il ne peut pas être utilisé pour stocker des valeurs d'un autre type de données.
Cependant, cela peut être surmonté en convertissant ce type en un type variable.
Essayons de convertir une valeur de chaîne en un entier.
int a; a = 'some random string';
Si nous compilons ceci, cela générera une erreur indiquant que «Impossible de convertir implicitement le type‘ string ’en‘ int ’.»
Les types de données peuvent être divisés en fonction des types de données.
- Primitif
- Non primitif
Types de données primitifs sont prédéfinis alors que les types de données non primitifs sont définis par l'utilisateur. Les types de données tels que byte, int, short, float, long, char, bool, etc. sont appelés types de données primitifs. Types de données non primitifs inclure classe, énumération, tableau, délégué, etc.
Dans ce tutoriel, nous examinerons les différentes méthodes proposées par C # pour le typage.
Conversion implicite
La conversion implicite est le type de conversion le plus simple. Ce type de conversion est de type sécurisé et aucune perte de données ne se produit pendant la conversion. Ces conversions concernent la conversion d'une classe dérivée en classe de base.
Par exemple, nous pouvons directement utiliser la conversion implicite si la valeur qui doit être stockée dans une autre variable peut s'adapter directement sans perte de données. Disons que nous avons une valeur 'entier' et que nous voulons passer cette valeur à un 'long'.
int i = 75; long j = i;
Conversion explicite
Dans la conversion implicite, nous avons vu que nous pouvons directement convertir une classe dérivée en classe de base sans perdre de données, mais dans le cas où il y a un risque de perte de données, le compilateur devra effectuer une conversion explicite.
La conversion ou la conversion explicite est un processus consistant à transmettre au compilateur des informations indiquant que le programme tente d'effectuer la conversion en sachant qu'il y a une perte de données possible.
Par exemple, si nous convertissons une valeur numérique supérieure en une valeur inférieure.
double d = 75.25; int i; i = (int)d;
Maintenant, si vous imprimez «i», vous constaterez qu'il imprimera «75». Toutes les données après la virgule seront perdues lors de la conversion.
Conversion à l'aide de différentes classes d'assistance
Pour convertir entre différents types non compatibles tels que la conversion d'une chaîne en nombre ou d'un tableau d'octets en un entier ou même des chaînes hexadécimales en d'autres types numériques, nous avons besoin d'une classe d'assistance différente car une conversion directe n'est pas possible.
Un type de données peut être converti en un autre type de données à l'aide des méthodes présentes dans la classe convert ou à l'aide d'une méthode TryParse disponible pour les différents types numériques. TryParse est plus utile si nous convertissons une chaîne en nombre. C’est assez simple et efficace.
int number = Int32.Parse(“123”);
Ici, nous avons converti une chaîne en un entier en utilisant parse.
Examinons une autre méthode de conversion qui est la méthode Convert.
Méthodes statiques présentes dans le Convertir la classe sont très utiles pour la conversion vers le type de données de base ou vice versa. Certains des types de données pris en charge sont Char, Boolean, Int32, int64, Double, Decimal, String, Int16, etc. La classe Convert prend également en charge les méthodes pour d'autres conversions.
Convertir en chaîne
La méthode Convert.ToString convertit un type de données en une chaîne. Dans le Exemple ci-dessous, nous convertissons un type de données entier en un type de données chaîne.
int number = 75; string s = Convert.ToString(number);
InvalidCastException
Parfois, il est possible que le compilateur ne comprenne pas si l'opération effectuée pour convertir un type en un autre est valide ou non. Cela provoque l'échec du compilateur pendant l'exécution. Une fois que la conversion de type échoue, elle lèvera une exception invalide.
InvalidCastException est levée chaque fois qu'une implémentation de conversion explicite ou de type n'est pas prise en charge par les deux types de données utilisés pour la conversion.
Conclusion
Dans ce didacticiel, nous avons appris les types de conversion et comment effectuer une conversion entre différents types de données. La conversion implicite est la conversion dans laquelle une classe dérivée est convertie en une classe de base comme int en un type float.
La conversion explicite est la conversion qui peut entraîner une perte de données. La conversion explicite convertit la classe de base en classe dérivée. Nous pouvons avoir besoin d'effectuer la conversion sur différents autres types de données, pour ce faire, nous prenons l'aide de la classe d'assistance. Les classes d'assistance comme «Parse» et «ConvertTo» offrent différentes manières de convertir un type de données en un autre.
Nous avons également appris l’exception que le compilateur lancera s’il ne comprend pas la conversion entre deux types.
=> Recherchez le guide de formation Easy C # ici
lecture recommandée
- Types de données et variables C # avec exemples
- Types de données C ++
- Conversions de type en C ++
- Exploration de données: processus, techniques et problèmes majeurs dans l'analyse des données
- Tutoriel Data Mart - Types, exemples et implémentation de Data Mart
- Types de tests de migration: avec des scénarios de test pour chaque type
- 10+ meilleurs outils de collecte de données avec des stratégies de collecte de données
- Fonction de pool de données dans IBM Rational Quality Manager for Test Data Management