Saturday, April 20, 2024 08:09

Cuprins >> Introducere > Casting și conversia de tip

Casting și conversia de tip

Casting și conversia de tip se referă în general la modificarea unui tip de date într-un alt tip de date. Pentru a putea efectua o operație pe două tipuri de date, trebuie să le convertim în același tip de date. Conversia de tip poate fi de două tipuri: implicită și explicită.

Există momente când utilizarea unei operații cu două tipuri de date va genera o excepție. Mai există și alte momente în care cele două tipuri de date sunt convertite în fundal în același tip, operație numită conversie de tip ascunsă. De exemplu, atunci când concatenăm un număr întreg cu un șir de caractere, .NET runtime convertește tipul int într-un string din mers, fără intervenția noastră:

Conversia de tip implicita

Conversia de tip explicită ne permite în mod specific să tratăm o valoare de un anumit tip ca fiind o valoare de alt tip  în timpul executării programului, iar acest lucru necesită uneori anumite validări.

Iată două exemple când conversia explicită necesită validare la transformare, și când nu:

  • când convertim din obiect în string, verificarea este necesară, deoarece programul trebuie să știe dacă obiectul este într-adevăr un șir de caractere și nu altceva.
  • când convertim din string în object, nu este necesară nici o verificare, tipul string este derivat din tipul obiect (vom afla mai multe despre acest lucru în viitor)
  • conversia din tipul int în tipurile de date reale poate fi făcută fără verificare, pentru că nu există nici un pericol de a pierde date (numărul întreg este mai mic decât tipurile reale, și un număr întreg nu poate avea zecimale)
  • când convertim din double în long, în funcție de valorile implicate, este posibil să obținem o pierdere de date, prin urmare trebuie să folosiți conversia explicită din virgulă mobilă pe 64 de biți în număr întreg pe 64 de biți.

Ar trebui să știți că tipurile de date nu pot fi convertite în orice tip, există numai valori acceptabile. De exemplu, dacă aveți un număr întreg de valoare 1 sau 0, îl puteți converti cu succes la un tip Boolean, dar orice altă valoare va genera o eroare, deoarece tipul boolean nu poate avea nici o altă valoare, cu excepția true (1) sau false (0).

Conceptele explicate în această lecție sunt prezentate și vizual, ca parte a următorului videoclip:

EXERCIȚII
1. Declarați două variabile de tip string și atribuiți-le valorile „Buna” și „Lume”. Atribuiți valoarea obținută din concatenarea celor două variabile (nu omiteți spațiul din mijloc) unei variabile de tip object. Declarați o a treia variabilă de tip string și inițializați-o cu valoarea variabilei de tip object (utilizați conversie de tip).

Soluție

Tags: , , , ,

Leave a Reply



Follow the white rabbit