Dom Razvoj Što je nepromjenjivi tip? - definicija iz tehopedije

Što je nepromjenjivi tip? - definicija iz tehopedije

Sadržaj:

Anonim

Definicija - Što znači vrsta Immutable?

Nepromjenjiva vrsta, u kontekstu C #, vrsta je objekta čiji se podaci ne mogu mijenjati nakon stvaranja. Nepromjenjivi tip postavlja svojstvo ili stanje objekta samo kao očitano jer se ne može mijenjati nakon što je dodijeljeno tijekom inicijalizacije.


Promatrajući tipovi dizajnirani su za učinkovito upravljanje memorijom i bolju brzinu, što ih čini pogodnim za objekte sa zahtjevima za sinkronizaciju. Neizrecivost omogućuje bolju čitljivost koda unošenjem promjena u vidljivost stanja programa i izoliranjem operacija koje mijenjaju stanje od onih koje ne čine. Tipovi koji se mijenjaju pružaju veću sigurnost od tipova koji se mogu mijenjati.


Nepromjenjiva vrsta koristi se tamo gdje podaci trebaju postojati nakon što su jednom dodijeljeni, ali bez ikakvih zahtjeva da se podaci mijenjaju u budućnosti. Budući da nepromjenjivi objekti ne mijenjaju njihovo stanje, oni su korisniji u višestrukim i višeprocesnim scenarijima, jer više niti može čitati ili pisati objekt, što može dovesti do trkačkih uvjeta i problema sa sinkronizacijom.

Tehopedija objašnjava nepromjenjivi tip

Objekti nepromjenjivog tipa mogu se stvoriti korištenjem ključnih riječi "const" i "readonly". Iako readonly dopušta promjenu polja unutar konstruktora, const ne. Brojevi, žice i null mogu se koristiti samo kao const polja koja su doista nepromjenjiva. Readonly nije uistinu nepromjenljiv jer omogućuje pisanje samo jednom. Dakle, ona nije konstanta vremena kompilacije poput polja const. Stvarno nepromjenjivi objekti uopće ne mijenjaju svoje unutarnje stanje i stoga su svojstveno sigurni u nit.


System.String klasa je nepromjenjiva referentna vrsta koja se nalazi u .NET knjižnici okvirne klase. Ova klasa interno stvara novi niz predmeta za bilo koju radnju niza manipulacije. Sadržaj objekata ove vrste se ne mijenja, iako se sintaksa čini kao da se sadržaj može mijenjati. Osim toga, niz se koristi kao ključ tablice hash za računanje vrijednosti hash-a kako bi se izbjegao rizik od oštećenja strukture podataka hash-a.


Glavni nedostatak nepromjenjivih vrsta je taj što im je potrebno više resursa od ostalih vrsta objekata.

Ova je definicija napisana u kontekstu C #
Što je nepromjenjivi tip? - definicija iz tehopedije