Uændelig type

Forfatter: Lewis Jackson
Oprettelsesdato: 8 Kan 2021
Opdateringsdato: 1 Juli 2024
Anonim
Uændelig type - Teknologi
Uændelig type - Teknologi

Indhold

Definition - Hvad betyder Immutable Type?

En uforanderlig type i koden til C # er en type objekt, hvis data ikke kan ændres efter oprettelsen. En uforanderlig type indstiller egenskaben eller tilstanden til objektet som read read, fordi det ikke kan ændres, når det er tildelt under initialiseringen.

Uændelige typer er designet til effektiv hukommelsesstyring og bedre hastighed, hvilket gør dem velegnede til objekter med synkroniseringskrav. Uforanderlighed giver bedre kodelæsbarhed ved at foretage ændringer i programtilstandens synlighed og isolere de operationer, der ændrer tilstand fra dem, der ikke gør det. Uændelige typer giver større sikkerhed end mutable typer.

En uforanderlig type bruges, hvor data skal vedvare, når de er tildelt en gang, men uden noget krav om, at dataene skal ændres i fremtiden. Da uforanderlige objekter ikke ændrer deres tilstand, er de mere nyttige i scener med flere tråde og multiprocesser, da flere tråde muligvis læser eller skriver et objekt, hvilket kan forårsage racerforhold og synkroniseringsproblemer.


En introduktion til Microsoft Azure og Microsoft Cloud | Gennem denne vejledning lærer du, hvad cloud computing handler om, og hvordan Microsoft Azure kan hjælpe dig med at migrere og drive din virksomhed fra skyen.

Techopedia forklarer Immutable Type

Objekter af uforanderlig type kan oprettes ved hjælp af nøgleordene "const" og "readonly". Mens readonly tillader ændring af et felt i konstruktøren, gør const det ikke. Tal, strenge og nul kan kun bruges som const-felter, som virkelig er uforanderlige. Readonly er ikke virkelig uforanderlig, fordi det kun tillader skrivning én gang. Det er således ikke en kompileringstidskonstant som konst-feltet. Virkelig uforanderlige genstande ændrer aldrig deres indre tilstand overhovedet og er derfor iboende tråd-sikre.

System.String-klassen er en uforanderlig referencetype, der leveres i .NET-rammeklasse-biblioteket. Denne klasse opretter et nyt strengobjekt internt til enhver streng manipuleringshandling. Indholdet af objekter af denne type ændres ikke, selvom syntaksen får det til at se ud som om indholdet kan ændres. Derudover bruges streng som hash-tabelnøgle til beregning af hashværdier for at undgå risikoen for at ødelægge hashdatestrukturen.

Den største ulempe ved uforanderlige typer er, at de kræver flere ressourcer end andre objekttyper.


Denne definition blev skrevet i C #