Verschil tussen waardetype en referentietype

Belangrijkste verschil - Waarde Type vs Referentie Type
 

Een programmeertaal is ontworpen om instructies aan de computer te geven om taken uit te voeren. Het programma kan gegevens met getallen, tekens en reeksen manipuleren en informatie aan de gebruiker produceren. Een reeks instructies geschreven in een specifieke programmeertaal is een programma. In programmeertalen zoals C # zijn er tokens. Dat zijn sleutelwoorden, ID's, letterlijke gegevens en operatoren. De gereserveerde geheugenlocaties voor het opslaan van gegevens staan ​​bekend als variabelen. Een variabele kan een waarde van een bepaald type opslaan. De gegevenstypen kunnen worden verdeeld in waardetype en referentietype. Het onderscheid tussen waardetype en referentietype hangt af van twee functies. Hier worden de variabelen opgeslagen in het geheugen en hoe ze zich gedragen met een toewijzingsinstructie. Dit artikel bespreekt het verschil tussen waardetype en referentietype. De belangrijk verschil tussen het waardetype en het referentietype is dat een waardetype houdt een gegevenswaarde vast binnen zijn eigen geheugenruimte, terwijl een referentietype een pointer houdt naar een andere geheugenlocatie die de data bevat.

INHOUD

1. Overzicht en belangrijkste verschil
2. Wat is waardetype
3. Wat is referentietype
4. Overeenkomsten tussen waardetype en referentietype
5. Vergelijking zij aan zij - Waardetype versus referentietype in tabelvorm
6. Samenvatting

Wat is waardetype?

De waardetypen kunnen in twee categorieën worden verdeeld. Dit zijn vooraf gedefinieerde typen en door de gebruiker gedefinieerde typen. De vooraf gedefinieerde typen worden geleverd door de programmeertaal. Ze kunnen numeriek, lettertype of decimaal zijn. De numerieke typen kunnen integrale typen, drijvende kommatietypen en decimale typen zijn. Integrale typen kunnen verder worden geclassificeerd in ondertekend en niet-ondertekend. De getekende gehele getallen kunnen positief of negatief getal opslaan. De sbyte, short, int en long zijn ondertekende gegevenstypen.

Het sybte is één byte, kort is twee bytes, int is vier bytes en lang is acht bytes. Het niet-ondertekende type slaat positieve waarden op. De byte, ushort, uint en ulong zijn de voorbeelden voor niet-ondertekende typen. De typen met drijvende komma kunnen een numerieke waarde met een decimaalteken opslaan. De vlotter moet een 32-bits drijvende-kommawaarde met één precisie opslaan en de dubbele waarde wordt gebruikt om 64-bits drijvende-komma-precisie met één precisie op te slaan. Het decimale type is voor hoge precisiewaarden. Het char-gegevenstype wordt gebruikt om één enkel teken in het geheugen op te slaan. Soms is het nodig om echte of valse waarde op te slaan. De Booleaanse waarde wordt daarvoor gebruikt. Dit zijn enkele voorbeelden van waardetypen die door de programmeertaal worden geboden.

De gebruiker kan ook waardetypen maken. Twee van dergelijke door de gebruiker gedefinieerde waardetypen zijn structuur en opsommingen. Een structuur bevat gegevens van verschillende typen. Het is vergelijkbaar met een klas. Het 'struct'-sleutelwoord wordt gebruikt om een ​​structuurvariabele te declareren. Een voorbeeld van de structuur is als volgt.

struct Employee

openbaar int empNo;

openbare reeksnaam;

Opsommingen worden gebruikt om de leesbaarheid van de code te vergroten. Het wordt gebruikt om namen te geven aan de nummers. Het trefwoord 'enum' wordt gebruikt om een ​​opsomming te declareren. Een voorbeeld van enum is als volgt. bijv. - enum Kleur zwart, wit, paars. Het trefwoord Enum geeft automatisch een lijst met woorden weer door waarden toe te wijzen die beginnen bij 0. Volgens het bovenstaande voorbeeld is zwart toegewezen met 0, wit is toegewezen met 1 en paars is toegewezen met 2. Als het is geschreven als enum Kleur zwart, wit = 3, paars, dan wordt het zwart toegewezen met 0 en paars met 4. Dat zijn enkele voorbeelden van waardetypen. Ze worden opgeslagen in de stapel. Bij het toewijzen van een waarde aan een andere variabele, wordt de waarde gekopieerd naar de nieuwe locatie. Daarom bestaan ​​er twee kopieën van dezelfde waarde in het geheugen.

Wat is referentietype?

De referentietypen kunnen worden onderverdeeld in twee categorieën als door de gebruiker gedefinieerde en vooraf gedefinieerde typen. Enkele voorbeelden van door de gebruiker gedefinieerde typen zijn klassen, interfaces en arrays. Een klasse wordt gebruikt om objecten te maken. Een klasse bestaat uit gegevensleden en methoden. De gegevensleden beschrijven de attributen en methoden beschrijven het gedrag. Een interface bevat alleen de verklaring van de leden. De leden moeten worden gedefinieerd door de afgeleide klasse. Een array kan meerdere elementen van hetzelfde gegevenstype opslaan.

De vooraf gedefinieerde typen zijn een objecttype en een stringtype. Het objecttype is het basistype voor alle andere door de gebruiker gedefinieerde typen. De objectreferenties worden gebruikt om te binden aan een object van een bepaald type. De letterlijke tekenreeksen worden als string in stringobjecten opgeslagen. Bewerkingen zoals kopiëren, vergelijken en concateneren kunnen met behulp van deze worden gedaan. Dat zijn enkele voorbeelden van een referentietype. De referentietypen worden op een hoop opgeslagen. Bij het toewijzen van één referentievariabele aan een andere referentievariabele, wordt alleen de referentie gekopieerd. De werkelijke waarde blijft hetzelfde.

Wat is de overeenkomst tussen waardetype en referentietype?

  • Zowel het waardetype als het referentietype zijn categorieën van gegevenstypen in de programmering.

Wat is het verschil tussen waardetype en referentietype?

Waardetype versus referentietype

Een waardetype bevat een gegevenswaarde binnen zijn eigen geheugenruimte. Een referentietype houdt een pointer vast aan een andere geheugenlocatie die de gegevens bevat.
 toewijzing
Bij waardetype wordt de waarde gekopieerd naar de nieuwe locatie, dus er zijn twee identieke kopieën van dezelfde waarde in het geheugen. Bij referentietype wordt de referentie gekopieerd terwijl de werkelijke waarde hetzelfde blijft.
Opgeslagen locatie
Een waardetype wordt opgeslagen in de stapel. Een referentietype wordt opgeslagen op de heap.
 Voorbeelden
De int, float, double, struct, enum zijn enkele voorbeelden van waardetypen. De klasse, array, interface zijn enkele voorbeelden van referentietypen.

Samenvatting - Waardetype vs Referentie Type

De gegevens worden opgeslagen in gereserveerde geheugenlocaties die bekend staan ​​als variabelen. Elke variabele slaat een specifiek gegevenstype op. De gegevenstypen kunnen in twee categorieën worden verdeeld. Ze zijn waardetype en referentietype. Het verschil tussen het waardetype en het referentietype is dat een waardetype een gegevenswaarde binnen de eigen geheugenruimte houdt, terwijl een referentietype een pointer naar een andere geheugenlocatie houdt die de gegevens bevat.

Referentie:

1.Waardetype en referentietype, TutorialsTeacher.com. Beschikbaar Hier
2. Baldagurusamy, E. Programmeren in C #, A premier. Vierde druk, McGraw Hill Education (India) Private Limited, 2016.