Sisällysluettelo:
Määritelmä - Mitä muuttuva tyyppi tarkoittaa?
Muutettavissa oleva tyyppi C-muodossa on objektityyppi, jonka datajäseniä, kuten ominaisuuksia, tietoja ja kenttiä, voidaan muokata sen luomisen jälkeen.
Muuttuvia tyyppejä käytetään rinnakkaissovelluksissa, joissa muutettavan arvotyyppisiä objekteja ylläpidetään pinossa Common Language Runtime (CLR) -sovelluksella. Tämä tarjoaa jonkin verran optimointia, mikä tekee siitä nopeamman kuin kasaan allokoidut objektit. Jotta estetään synkronointivirheiden esiintyminen rinnakkaisissa sovelluksissa johtuen useista ketjuista, jotka käyttävät jaettua dataa, muuttuvia tyyppejä käytetään jonkinlaiseen lukitusmekanismiin.
Luontaisen luonteensa vuoksi muuttuvaa tyyppitietoa voidaan muuttaa ajon aikana, joten muuttuvaa tyyppiä käytetään usein, kun objekti sisältää suuren määrän muutettavissa olevaa dataa. Vaikka muuttuva tyyppi ei ole niin langaton ja turvallinen kuin muuttumaton tyyppi, sitä käytetään useammin arvotyyppisten muuttujien kanssa, jotka saadaan pinoon parantaen suorituskykyä.
Techopedia selittää muutettavan tyypin
Kaikki sisäänrakennetut arvotyypit, kuten int, double, jne., Ovat muutettavissa olevia tyyppejä, ja niistä voidaan tehdä muuttumattomia lisäämällä muuttuja "vain luku" ennen muuttujia. Jos muutettavissa oleva referenssityyppi määritetään vain luettavissa olevalla muokkaimella, C # -kääntäjä antaa varoituksen. Lisäämällä vain luettavissa oleva muokkain vertailutyypin kenttään, kenttää ei voida korvata toisella referenssityypin esiintymällä, mutta se antaa kentän esiintymätietoja muokata referenssityypin kautta.
Esimerkiksi, StringBuilder on .NET-kehyskirjaston muuttuva viitetyyppi, jonka kautta tällaisesta luodun ilmentymän merkkijonoarvoa voidaan muuttaa lisäämällä, poistamalla, korvaamalla tai lisäämällä merkkejä.
Muutettavaa tyyppiä ei tule johtaa muuttumattomasta tyypistä, koska johdetussa luokassa on mahdollista, että virtuaalinen menetelmä ohittaa sen siten, että muuttumattomat jäsenet korvataan.
Muutettavan tyypin päärajoitus on, että kun siirretään muutettavan tyyppistä objektia (kuten rakennetta) paikallisen muuttujan osoittamisella tai parametrina menetelmälle, siirretään kohteen arvo eikä itse objekti. Tällä tavalla objektin kopio mutatoituu eikä ole alkuperäinen. Tämä käyttäytyminen voi johtaa odottamattomiin virheisiin.
