Conversions des types
- Promotion entière et conversion implicite
Les deux opérandes x et y sont de type short: pour l’addition, leurs valeurs seront converties au type "int" ( promotion entière) et le résultat sera du même type "int". Ce résultat devra alors être affecté à la variable x, de type short: il y a rétrécissement du domaine et donc refus du compilateur. Dans une opération arithmétique avec des types entiers, C# convertit, pour le calcul, toutes les valeurs au type "int", et pour les réels en "double".Le langage définit des conversions implicites qui sont automatiquement mises en œuvre par le compilateur, à condition qu’i l n’y ait pas rétrécissement du domaine.
- Conversion explicite: le transtypage (cast)
Le transtypage impose la conversion: le programmeur assume le risque de perte d’information. Toutefois, la conversion explicite est dangereuse car elle correspond, pour les valeurs entières, à une troncature des octets de poids forts. Si ceuxci contiennent des chiffres significatifs, le résultat est aberrant.
Tous les transtypages ne sont pas licites:
Le transtypage a une grande priorité
- Conversion vers des chaînes de caractères
Pour convertir toute donnée quel que soit sa nature en chaîne, on doit utiliser obligatoirement la méthode "ToString()".
"ToString()" est obligatoire pour une concaténation avec le signe "+".
La méthode "string.Format(chaîne, variable1, …, variableN)" permet de mettre en forme une chaîne en remplaçant ses éléments variables par leurs valeurs. Les arguments de la chaîne devant être remplacés sont des références ordinales placées entre accolades {0}, …, {N}.






0 تعليقات البلوجر