Sisällysluettelo:
Määritelmä - Mitä muuttuva tyyppi tarkoittaa?
Muutumaton tyyppi C #: n yhteydessä on objektityyppi, jonka tietoja ei voida muuttaa sen luomisen jälkeen. Muuttumaton tyyppi asettaa objektin ominaisuuden tai tilan vain lukukelpoiseksi, koska sitä ei voi muokata sen jälkeen, kun se on määritetty alustuksen aikana.
Muuttamattomat tyypit on suunniteltu tehokkaaseen muistin hallintaan ja parempaan nopeuteen, mikä tekee niistä sopivia kohteille, joilla on synkronointivaatimukset. Muutettavuus tarjoaa paremman koodin luettavuuden tekemällä muutoksia ohjelman tilan näkyvyyteen ja eristämällä tilan muuttavat toiminnot niistä, jotka eivät tee. Muuttamattomat tyypit tarjoavat paremman suojauksen kuin muuttuvat tyypit.
Muuttumatonta tyyppiä käytetään, kun datan on pysyttävä sen jälkeen, kun se on määritetty kerran, mutta ilman vaatimusta datan muuttamisesta tulevaisuudessa. Koska muuttumattomat objektit eivät muuta tilaa, ne ovat hyödyllisempiä monisäikeisissä ja moniprosessisissa tilanteissa, koska useat ketjut voivat lukea tai kirjoittaa objektia, mikä voi aiheuttaa kilpa-olosuhteita ja synkronointiongelmia.
Techopedia selittää muuttumattoman tyypin
Muuttumattoman tyyppisiä esineitä voidaan luoda avainsanoilla "const" ja "readonly". Vaikka vain luku vain sallii kentän modifioinnin konstruktorissa, const ei. Numeroita, merkkijonoja ja nollia voidaan käyttää vain const-kentäinä, jotka ovat todella muuttumattomia. Readonly ei ole todella muuttumaton, koska se sallii kirjoittamisen vain kerran. Siksi se ei ole käännös-aikavakio kuten const-kenttä. Todella muuttumattomat esineet eivät koskaan muuta sisäistä tilaaan ollenkaan ja ovat siksi luonnostaan langanpitäviä.
System.String-luokka on muuttumaton viitetyyppi, joka tarjotaan .NET-kehysluokkakirjastoon. Tämä luokka luo uuden merkkijonoobjektin sisäisesti jokaiselle merkkijonon manipulointitoiminnolle. Tämän tyyppisten objektien sisältö ei muutu, vaikka syntaksin mukaan se näyttää siltä kuin sisältöä voidaan muuttaa. Lisäksi merkkijonoa käytetään hash-taulukkoavaimena hash-arvojen laskemiseen, jotta vältetään riski hajottaa hash-tietorakenne.
Muuttumattomien tyyppien päähaitta on, että ne vaativat enemmän resursseja kuin muut kohdetyypit.
