Huis Ontwikkeling Wat is een conversie-operator? - definitie van techopedia

Wat is een conversie-operator? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Conversion Operator?

Een conversie-operator, in C #, is een operator die wordt gebruikt om een ​​conversie op een door de gebruiker gedefinieerd type aan te geven, zodat een object van dat type kan worden geconverteerd naar of van een ander door de gebruiker gedefinieerd type of basistype. De twee verschillende soorten door de gebruiker gedefinieerde conversies omvatten impliciete en expliciete conversies.

Over het algemeen bieden expliciete en impliciete conversie-operators de mogelijkheid om een ​​klasse te casten naar de andere mogelijke gegevenstypen.

Een expliciete conversie-operator moet worden opgeroepen met een cast en wordt gebruikt wanneer de conversie zichtbaar moet zijn voor de gebruikers van de operator. Het wordt gebruikt in cast-expressies waarbij de twee gegevenstypen niet volledig compatibel zijn en daarom een ​​cast-operator vereisen.

Een impliciete conversie-operator is eenvoudig te gebruiken. Het vereist geen speciale syntaxis en verbetert de leesbaarheid van de code. Het helpt een klasse ook om gegevens van een gegevenstype naar het compatibele type te converteren zonder type casting. Impliciete cast moet worden gebruikt in situaties zoals invocaties en toewijzingen van functieleden, waarbij er geen risico is op gegevensverlies of het optreden van uitzonderingen.

Techopedia legt Conversion Operator uit

Een impliciete conversie kan worden gedefinieerd voor een klasse met behulp van het trefwoord "impliciet" samen met het trefwoord "operator". Een expliciete conversiebewerking kan worden gedefinieerd voor een klasse met behulp van het trefwoord "expliciet" samen met het trefwoord "operator". Beide conversies moeten als statisch worden gedefinieerd.

Een klasse, RomanNumeral, kan bijvoorbeeld worden gedefinieerd met twee conversieoperatoren. Een impliciete conversie-operator kan worden gedefinieerd om van RomanNumeral-klasse naar string te converteren voor het weergeven van een nummer in Romeinse cijfervorm; de expliciete conversie-operator kan worden gedefinieerd om de conversie van de klasse RomanNumeral naar geheel getal uit te voeren.

Conversie van een klasse naar objecttype of interfacetype is niet toegestaan. Hetzelfde geldt voor conversie van basisklasse naar een klasse afgeleid van basisklasse.

Voor een bepaalde klasse kunnen de expliciete en impliciete operatoren niet worden opgegeven voor conversie van hetzelfde type naar een andere.

Er moet voor worden gezorgd dat een impliciete conversie niet leidt tot gegevensverlies of een uitzondering. Als er geldige redenen zijn om een ​​uitzondering te maken, moet de conversie van het expliciete type zijn.

Deze definitie is geschreven in de context van C #
Wat is een conversie-operator? - definitie van techopedia