Sisällysluettelo:
Määritelmä - Mitä muunto-operaattori tarkoittaa?
Muunnosoperaattori, C # -muodossa, on operaattori, jota käytetään ilmoittamaan muunnos käyttäjän määrittämässä tyypissä, jotta kyseisen tyyppinen esine voidaan muuntaa toiseksi käyttäjän määrittelemäksi tyypiksi tai perustyypiksi. Kaksi erityyppistä käyttäjän määrittämää konversiota sisältävät implisiittiset ja eksplisiittiset konversiot.
Yleensä eksplisiittiset ja implisiittiset muunto-operaattorit tarjoavat luokalle kykyä luovuttaa muille mahdollisille tietotyypeille.
Täsmälliseen muuntamisoperaattoriin on pyydettävä cast ja sitä käytetään, kun muuntamisen on oltava operaattorin käyttäjien nähtävissä. Sitä käytetään cast-lausekkeissa, joissa nämä kaksi tietotyyppiä eivät ole täysin yhteensopivia ja vaativat siksi cast operaattorin.
Epäsuoraa muunnosoperaattoria on helppo käyttää. Se ei vaadi erityistä syntaksia ja parantaa koodin luettavuutta. Se auttaa luokkaa myös muuntamaan tietotyypin tiedot yhteensopivaan tyyppiin ilman tyyppivalua. Epäsuoraa valintaa on käytettävä tilanteissa, kuten toimintojäsenten kutsut ja tehtävät, joissa ei ole riskiä tietojen menetyksestä tai poikkeusten esiintymisestä.
Techopedia selittää muunto-operaattorin
Epäsuora muunnos voidaan määrittää luokalle käyttämällä avainsanaa "implisiittinen" yhdessä "operaattorin" avainsanan kanssa. Luokkaan voidaan määritellä eksplisiittinen muuntamistoimenpide käyttämällä avainsanaa "eksplisiittinen" yhdessä "operaattorin" avainsanan kanssa. Molemmat muunnokset on määritettävä staattisiksi.
Esimerkiksi luokka, RomanNumeral, voidaan määrittää kahdella muuntamisoperaattorilla. Epäsuora muunnosoperaattori voidaan määritellä muuntamaan RomanNumeral-luokasta merkkijonoksi numeron näyttämiseksi roomalaisessa numeromuodossa; eksplisiittinen muunnosoperaattori voidaan määritellä suorittamaan muuntaminen luokasta RomanNumeral kokonaislukuun.
Luokan muuntaminen objektityypiksi tai käyttöliittymätyypiksi ei ole sallittua. Sama koskee muuntamista perusluokasta perusluokasta johdettuun luokkaan.
Tietylle luokalle sekä eksplisiittisiä että implisiittisiä operaattoreita ei voida määritellä muuntamista varten samasta tyypistä toiseen.
Olisi varmistettava, että implisiittinen muuntaminen ei johda tietojen menetykseen tai poikkeukseen. Jos poikkeukselle on perusteltuja syitä, muunnoksen tulee olla nimenomaista tyyppiä.
Tämä määritelmä on kirjoitettu yhteydessä C #