Forskel mellem værditype og referencetype

Nøgleforskel - Værdi Type vs Reference Type
 

Et programmeringssprog er designet til at give instruktioner til computeren om at udføre opgaver. Programmet kan manipulere data, der indeholder tal, tegn og strenge og producere information til brugeren. En række instruktioner skrevet på et specifikt programmeringssprog er et program. I programmeringssprog som C # findes der tokens. Dette er nøgleord, identifikatorer, bogstaver og operatører. De reserverede hukommelsesplaceringer til lagring af data kaldes variabler. En variabel kan gemme en værdi af en bestemt type. Datatyperne kan opdeles i værditype og referencetype. Forskellen mellem værditype og referencetype afhænger af to funktioner. Det er her variablerne gemmes i hukommelsen, og hvordan de opfører sig med en tildelingserklæring. Denne artikel diskuterer forskellen mellem værditype og referencetype. Det vigtigste forskel mellem værditypen og referencetypen er den en værditype har en dataværdi i sit eget hukommelsesområde, mens en referencetype holder en markør til en anden hukommelsesplacering, der indeholder dataene.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er værditype
3. Hvad er referencetype
4. Ligheder mellem værditype og referencetype
5. Sammenligning side om side - Værditype vs referencetype i tabelform
6. Resume

Hvad er værditype?

Værdityperne kan opdeles i to kategorier. Det er foruddefinerede typer og brugerdefinerede typer. De foruddefinerede typer leveres af programmeringssproget. De kan være numeriske, karaktertype eller decimaltype. De numeriske typer kan være integrerede typer, flydende punkttyper og decimaltyper. Integrerede typer kan yderligere klassificeres til underskrevet og usigneret. De underskrevne heltal kan gemme et positivt eller negativt antal. De sbyte, korte, int og lange er underskrevne datatyper.

Sybten er en byte, kort er to byte, int er fire byte, og lang er otte byte. Den usignerede type gemmer positive værdier. Byte, ushort, uint og ulong er eksemplerne på usignerede typer. De flydende punkttyper kan gemme en numerisk værdi med et decimalpunkt. Float er til at gemme 32-bit flydepunktværdi for enkelt præcision, og dobbeltværdien bruges til at gemme 64-bit flydepunkt med enkelt præcision. Decimaltypen er til høj præcisionsværdier. Char data-typen bruges til at gemme et enkelt tegn i hukommelsen. Undertiden kræves det at gemme sand eller falsk værdi. Boolean bruges til det. Dette er nogle eksempler på værdityper leveret af programmeringssproget.

Brugeren kan også oprette værdityper. To sådanne brugerdefinerede værdityper er struktur og optællinger. En struktur indeholder data af forskellige typer. Det ligner en klasse. Nøgleordet "konstruktion" bruges til at erklære en strukturvariabel. Et eksempel på strukturen er som følger.

struktur Medarbejder

offentlig int empNo;

navn på offentlig streng;

Tællinger bruges til at øge kodens læsbarhed. Det bruges til at give numrene navne. Nøgleordet 'enum' bruges til at erklære en optælling. Et eksempel på enum er som følger. f.eks. - enum Farve sort, hvid, lilla. Enum-nøgleordet optæller automatisk en liste over ord ved at tildele værdier, der starter fra 0. I henhold til ovenstående eksempel tildeles sort med 0, hvidt tildeles med 1 og lilla tildeles med 2. Hvis det skrives som enum Farve sort, hvid = 3, lilla, derefter tildeles den sorte med 0 og lilla tildeles med 4. Disse er nogle eksempler på værdityper. De opbevares i stakken. Når der tildeles en værdi til en anden variabel, kopieres værdien til den nye placering. Derfor findes der to kopier med den samme værdi i hukommelsen.

Hvad er referencetype?

Henvisningstyperne kan opdeles i to kategorier som brugerdefinerede og foruddefinerede typer. Nogle eksempler på brugerdefinerede typer er klasser, grænseflader og arrays. En klasse bruges til at oprette objekter. En klasse består af datamedlemmer og metoder. Datamedlemmerne beskriver attributter og metoder beskriver adfærden. En grænseflade indeholder kun medlemmers erklæring. Medlemmerne skal defineres af den afledte klasse. En matrix kan gemme flere elementer af samme datatype.

De foruddefinerede typer er en objekttype og strengtype. Objekttypen er basistypen for alle andre brugerdefinerede typer. Objektreferencerne bruges til at binde til et objekt af en bestemt type. Strenglitterærerne gemmes i strengobjekter som værdier. Handlinger som kopiering, sammenligning og sammenkædning kan udføres ved hjælp af dem. Dette er nogle eksempler på en referencetype. Henvisningstyperne gemmes på dynge. Når der tildeles en referencevariabel til en anden referencevariabel, kopieres kun referencen. Den aktuelle værdi forbliver den samme.

Hvad er ligheden mellem værditype og referencetype?

  • Både værditype og referencetype er kategorier af datatyper i programmeringen.

Hvad er forskellen mellem værditype og referencetype?

Værdi Type vs Reference Type

En værditype har en dataværdi inden for sin egen hukommelsesplads. En referencetype holder en markør til en anden hukommelsesplacering, der indeholder dataene.
 Opgave
I værditype kopieres værdien til den nye placering, så der er to identiske kopier af den samme værdi i hukommelsen. I referencetype kopieres referencen, mens den aktuelle værdi forbliver den samme.
Gemt placering
En værditype gemmes i stakken. En referencetype er gemt på dyngen.
 eksempler
Int, float, double, struct, enum er nogle eksempler på værdityper. Klassen, array, interface er nogle eksempler på referencetyper.

Resumé - Værdi Type vs Reference Type

Dataene gemmes i reserverede hukommelsesplaceringer kendt som variabler. Hver variabel gemmer en bestemt datatype. Datatyperne kan opdeles i to kategorier. De er værditype og referencetype. Forskellen mellem værditype og referencetype er, at en værditype har en dataværdi inden for sin egen hukommelsesplads, mens en referencetype holder en markør til en anden hukommelsesplacering, der indeholder data.

Reference:

1.Værditype og referencetype, TutorialsTeacher.com. Tilgængelig her
2. Balagurusamy, E.. Programmering i C #, En premier. Fjerde udgave, McGraw Hill Education (India) Private Limited, 2016.