Kazalo:
Opredelitev - Kaj pomeni Immutable Type?
V okviru C # je nespremenljiv tip vrsta predmeta, katerega podatkov po nastanku ni mogoče spremeniti. Nepremenljiv tip nastavi lastnost ali stanje predmeta kot prebrano samo zato, ker ga ni mogoče spremeniti, ko je dodeljen med inicializacijo.
Vrste nespremenljivih so zasnovane za učinkovito upravljanje pomnilnika in večjo hitrost, zaradi česar so primerni za predmete s sinhronizacijskimi zahtevami. Nespremenljivost zagotavlja boljšo berljivost kode s spreminjanjem vidnosti stanja programa in izoliranjem operacij, ki spremenijo stanje, od tistih, ki jih ne. Vrste nespremenljivih zagotavljajo večjo varnost kot spremenljive vrste.
Nepreklicna vrsta se uporablja, kadar se podatki ohranijo, potem ko so enkrat dodeljeni, vendar brez zahteve po spremembi podatkov v prihodnosti. Ker nespremenljivi predmeti ne spremenijo svojega stanja, so bolj uporabni v večbesednih in večprocesnih scenarijih, saj lahko več niti prebere ali napiše predmet, kar lahko povzroči dirkalne pogoje in težave s sinhronizacijo.
Tehopedia razlaga nespremenljiv tip
Predmete nespremenljivega tipa lahko ustvarite z uporabo ključnih besed "const" in "readonly". Čeprav readonly omogoča spreminjanje polja znotraj konstruktorja, const ne. Številke, nizi in null se lahko uporabljajo samo kot polja const, ki so resnično nespremenljiva. Readonly ni resnično nespremenljiv, saj omogoča pisanje samo enkrat. Torej ni konstantna časovna konstanta kot polje const. Resnično nespremenljivi predmeti nikakor ne spremenijo svojega notranjega stanja in so zato sami po sebi varni.
Razred System.String je nespremenljiv referenčni tip, ki je na voljo v knjižnici okvirnih razredov .NET. Ta razred ustvari nov niz predmeta v notranjosti za vsako dejanje manipulacije z nizi. Vsebina te vrste predmetov se ne spreminja, čeprav se skladnja zdi, kot da je vsebino mogoče spremeniti. Poleg tega se niz uporablja kot ključ tabele hash za izračun vrednosti hash, da bi se izognili tveganju, da bi poškodovali strukturo podatkov heš.
Glavna pomanjkljivost nespremenljivih vrst je ta, da potrebujejo več virov kot druge vrste predmetov.