Wat is het verschil tussen Constant en Readonly

De grootste verschil tussen constant en readonly is dat een constante wordt geëvalueerd tijdens het compileren, terwijl een readonly wordt geëvalueerd tijdens de runtime.

C # is een moderne en algemene programmeertaal die objectgeoriënteerd programmeren ondersteunt. Het is ontworpen voor Common Language Infrastructure (CLI). Een variabele is een naam die wordt gegeven aan een geheugenlocatie. Het kan een waarde hebben en deze waarde kan in het programma worden gebruikt. De variabelen kunnen van verschillende typen zijn. int-variabelen bevatten gehele waarden, terwijl dubbele variabelen dubbele waarden enz. bevatten. Deze variabelen kunnen ook als constanten en readonly worden gedeclareerd. Constante wordt gebruikt voor absolute constanten, terwijl readonly wordt gebruikt voor niet-absolute constanten.

Key Areas Covered

1. Wat is constant
     - Definitie, functionaliteit
2. Wat is alleen lezen
    - Definitie, functionaliteit
3. Wat is het verschil tussen Constant en Readonly
    - Vergelijking van belangrijke verschillen

Sleutelbegrippen

C #, constant, alleen lezen

Wat is constant

Constant wordt gebruikt voor absolute constanten. De waarde wordt ingesteld tijdens de declaratie van de variabele.

Een voorbeeld is als volgt.

 int const nummer = 50;

De waarde van het nummer is ingesteld op 50 op het moment van de declaratie. Na toewijzing is het niet mogelijk om de waarde van de variabele te wijzigen.

De const staat alleen constanten toe om in uitdrukkingen te worden gebruikt. Eén voorbeeld is als volgt.

int const num1 = 10;

int const num2 = 20;

int const num3 = num1 + num2;

Als er instructies zijn als volgt, is er een fout in de compileertijd.

int const a = 10;

int b = 5;

int const c = a + b;

Dit levert een compileerfout op omdat b niet constant is.

Wat is alleen lezen

Readonly wordt tijdens runtime geëvalueerd. Het is niet nodig om de waarde in te stellen op het moment van aangifte. De waarde wordt toegewezen in de constructor. Een voorbeeld is als volgt.

class-programma

alleen lezen dubbele pi;

Programma()

pi = 3,14;

void changeValue ()

// pi = 3,1;

De waarde pi wordt toegewezen binnen de constructor. De changeValue () kan geen waarde toewijzen aan pi. In plaats daarvan kan de programmeur de variabele op het tijdstip van de declaratie als volgt initialiseren.

alleen lezen dubbele pi = 3,14;

Bovendien kan readonly alleen worden gedeclareerd op klasseniveau, niet binnen methoden.  

Verschil tussen Constant en Readonly

Definitie

Constant verwijst naar een variabele die onveranderd is in C # -programmering, terwijl readonly een sleutelwoord is in C # dat aangeeft dat toewijzing aan het veld alleen kan plaatsvinden als onderdeel van de declaratie of in een constructor in dezelfde klasse.

evaluatie

Het belangrijkste verschil tussen constant en readonly is dat terwijl de constante wordt geëvalueerd tijdens het compileren, readonly geëvalueerd tijdens runtime.

trefwoorden

Het sleutelwoord 'const' wordt gebruikt voor constanten, terwijl het sleutelwoord 'alleen-lezen' alleen wordt gebruikt voor read-only.

Waarden toewijzen

Verder verschil tussen constant en readonly is dat het in constanten verplicht is om waarden toe te wijzen op het moment van de declaratie. Maar, alleen-lezen, het is niet verplicht waarden toe te kennen op het moment van aangifte. Een waarde kan worden toegewezen in de declaratie of in de klassenconstructor.  

Declarerend niveau

Bovendien kunnen de constanten worden gedeclareerd op klasseniveau en op methodniveau. De readonly kan alleen op klasseniveau worden aangegeven.

Gebruik

Ook, terwijl const wordt gebruikt voor absolute waarden, wordt readonly gebruikt voor niet-absolute constanten. Dit is nog een verschil tussen constant en readonly.

Conclusie

De constante en readonly kunnen lijken op elkaar, maar ze hebben een verschil. Het verschil tussen constant en readonly is dat een constante wordt geëvalueerd tijdens het compileren, terwijl een readonly wordt geëvalueerd tijdens de runtime..

Referentie:

1. "Wat is Const? - Definitie van WhatIs.com. " TheServerSide.com, Beschikbaar Hier.

Afbeelding met dank aan:

1. "Logo C Sharp" door Microsoft - (Public Domain) via Commons Wikimedia