Qual è la differenza tra Constant e Readonly

Il differenza principale tra costante e readonly è quello a la costante viene valutata al momento della compilazione mentre un readonly viene valutato al runtime.

C # è un linguaggio di programmazione moderno e generico che supporta la programmazione orientata agli oggetti. È progettato per Common Language Infrastructure (CLI). Una variabile è un nome assegnato a una posizione di memoria. Può avere un valore e questo valore può essere utilizzato nel programma. Le variabili possono essere di vario tipo. le variabili int contengono valori interi, mentre le doppie variabili contengono valori doppi, ecc. Queste variabili possono anche essere dichiarate come costanti e di sola lettura. La costante viene utilizzata per le costanti assolute mentre readonly viene utilizzata per le costanti non assolute.

Aree chiave coperte

1. Cos'è Constant
     - Definizione, Funzionalità
2. Cos'è Readonly
    - Definizione, Funzionalità
3. Qual è la differenza tra Constant e Readonly
    - Confronto tra le principali differenze

Parole chiave

C #, Constant, Readonly

Cos'è Constant

La costante è usata per le costanti assolute. Il valore viene impostato durante la dichiarazione della variabile.

Un esempio è il seguente.

 int const number = 50;

Il valore del numero è impostato su 50 al momento della dichiarazione. Dopo l'assegnazione, non è possibile modificare il valore della variabile.

Il const consente solo alle costanti di essere utilizzate nelle espressioni. Uno di questi esempi è il seguente.

int const num1 = 10;

int const num2 = 20;

int const num3 = num1 + num2;

Se ci sono istruzioni come segue, ci sarà un errore in fase di compilazione.

int const a = 10;

int b = 5;

int const c = a + b;

Questo darà un errore di compilazione in quanto b non è costante.

Cos'è Readonly

Readonly viene valutato in fase di runtime. Non è necessario impostare il valore al momento della dichiarazione. Il valore è assegnato nel costruttore. Un esempio è il seguente.

programma di classe

sola lettura doppio pi;

Programma()

pi = 3,14;

void changeValue ()

// pi = 3,1;

Il valore pi è assegnato all'interno del costruttore. Il changeValue () non può assegnare un valore a pi. Invece, il programmatore può inizializzare la variabile al momento della dichiarazione come segue.

sola lettura doppio pi = 3,14;

Inoltre, readonly può essere dichiarato solo a livello di classe, non all'interno dei metodi.  

Differenza tra Constant e Readonly

Definizione

Constant si riferisce a una variabile che è immutabile nella programmazione C # mentre readonly è una parola chiave in C # che indica che l'assegnazione al campo può avvenire solo come parte della dichiarazione o in un costruttore della stessa classe.

Valutazione

La differenza principale tra costante e readonly è che mentre la costante viene valutata al momento della compilazione, viene valutata in sola lettura a runtime.

parole

La parola chiave 'const' è usata per le costanti mentre la parola chiave 'readonly' è usata per readonly.

Assegnazione dei valori

Un'ulteriore differenza tra costante e readonly è che, nelle costanti, è obbligatorio assegnare valori al momento della dichiarazione. Ma, in sola lettura, non è obbligatorio assegnare valori al momento della dichiarazione. Un valore può essere assegnato nella dichiarazione o nel costruttore della classe.  

Livello di dichiarazione

Inoltre, le costanti possono essere dichiarate a livello di classe e di metodo. Il readonly può essere dichiarato solo a livello di classe.

uso

Inoltre, mentre const viene utilizzato per i valori assoluti, readonly viene utilizzato per le costanti non assolute. Questa è un'altra differenza tra costante e readonly.

Conclusione

La costante e la sola lettura possono sembrare simili ma hanno una differenza. La differenza tra costante e readonly è che una costante viene valutata al momento della compilazione mentre un readonly viene valutato in fase di esecuzione.

Riferimento:

1. "Cos'è Const? - Definizione da WhatIs.com. " TheServerSide.com, Disponibile qui.

Cortesia dell'immagine:

1. "Logo C Sharp" di Microsoft - (dominio pubblico) tramite Commons Wikimedia