الثلاثاء، 22 ديسمبر 2015

Conversions des types


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}.
  •  Conversion depuis une chaîne de caractères
La conversion d'une chaîne vers un nombre peut échouer si la chaîne ne représente pas un nombre valide.


On remarquera que les nombres réels sous forme de chaîne de caractères doivent utiliser la virgule et non le point décimal (Windows français).


تعليقات الفيس بوك
0 تعليقات البلوجر

ليست هناك تعليقات:

إرسال تعليق