Cuprins:
Definiție - Ce înseamnă operator de conversie?
Un operator de conversie, în C #, este un operator care este utilizat pentru a declara o conversie pe un tip definit de utilizator, astfel încât un obiect de acest tip să poată fi transformat în sau dintr-un alt tip sau tip de bază definit de utilizator. Cele două tipuri diferite de conversii definite de utilizator includ conversii implicite și explicite.
În general, operatorii de conversie explicită și implicită furnizează capacitatea unei clase de a fi distribuită celorlalte tipuri de date posibile.
Un operator de conversie explicit trebuie invocat cu o distribuție și este utilizat atunci când conversia trebuie să fie vizibilă pentru utilizatorii operatorului. Este utilizat în expresii de distribuție în care cele două tipuri de date nu sunt complet compatibile și, prin urmare, necesită un operator de distribuție.
Un operator implicit de conversie este ușor de utilizat. Nu necesită sintaxă specială și îmbunătățește lizibilitatea codului. De asemenea, ajută o clasă să transforme datele unui tip de date în tipul său compatibil, fără turnare de tip. Distribuția implicită trebuie utilizată în situații precum invocările și misiunile membrilor funcției, unde nu există riscul pierderii datelor sau apariției unor excepții.
Techopedia explică Operatorul de conversie
O conversie implicită poate fi definită pentru o clasă folosind cuvântul cheie „implicit” împreună cu cuvântul cheie „operator”. O operațiune de conversie explicită poate fi definită pentru o clasă folosind cuvântul cheie „explicit” împreună cu cuvântul cheie „operator”. Ambele conversii trebuie definite ca statice.
De exemplu, o clasă, RomanNumeral, poate fi definită cu doi operatori de conversie. Un operator de conversie implicit poate fi definit pentru a converti din clasă RomanNumeral în șir pentru afișarea unui număr în formă numerică romană; operatorul de conversie explicit poate fi definit pentru a efectua conversia din clasa RomanNumeral în număr întreg.
Conversia unei clase în tip obiect sau tip de interfață nu este permisă. Același lucru este valabil și pentru conversia de la clasa de bază în clasa derivată din clasa de bază.
Pentru o anumită clasă, atât operatorii explici, cât și cei implicați nu pot fi specificați pentru conversie de la același tip la altul.
Trebuie avut grijă să vă asigurați că o conversie implicită nu are ca rezultat pierderea de date sau o excepție. Dacă există motive valide pentru a arunca excepții, conversia ar trebui să fie de tip explicit.
Această definiție a fost scrisă în contextul C #