Procedura: creare una variabile che non cambia di valore (Visual Basic)

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

  1. 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.

  2. 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.

Vedere anche

Riferimenti

WriteOnly (Visual Basic)

Istruzione Const (Visual Basic)