Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La nozione di variabile il cui valore rimane invariato può apparire contraddittoria. Esistono tuttavia situazioni in cui l'utilizzo di una costante non è praticabile, mentre può essere utile disporre di una variabile con un valore fisso. In casi di questo tipo è possibile definire una variabile membro con la parola chiave ReadOnly (Visual Basic).
Non è possibile utilizzare l'Istruzione Const (Visual Basic) per dichiarare e assegnare un valore costante nelle seguenti situazioni:
L'istruzione Const non accetta il tipo di dati che si desidera utilizzare.
In fase di compilazione non si conosce il valore.
In fase di compilazione non è possibile calcolare il valore costante.
Per creare una variabile che non cambia di valore
A livello di modulo dichiarare una variabile membro con l'Istruzione Dim (Visual Basic) e includere la parola chiave ReadOnly (Visual Basic).
Dim ReadOnly timeStartedÈ possibile specificare ReadOnly solo per una variabile membro. Questo significa che è necessario definire la variabile a livello di modulo, all'esterno di qualsiasi routine.
Se in fase di compilazione è possibile calcolare il valore in una singola istruzione, utilizzare una clausola di inizializzazione nell'istruzione Dim. Dopo la clausola As inserire un segno di uguale (=) seguito da un'espressione. Accertarsi che il compilatore sia in grado di valutare questa espressione come valore costante.
Dim ReadOnly timeStarted As Date = NowÈ possibile assegnare un valore a una variabile ReadOnly una sola volta. Dopo questa operazione, il valore non potrà essere modificato da alcun codice.
Se in fase di compilazione non si conosce il valore né è possibile calcolarlo in una singola istruzione, è comunque possibile assegnarlo in fase di esecuzione in un costruttore. Per eseguire questa operazione, è necessario dichiarare la variabile ReadOnly a livello di classe o di struttura. Nel costruttore relativo alla classe o alla struttura calcolare il valore fisso e assegnarlo alla variabile prima di uscire dal costruttore.