Anvisningar: Skapa en variabel som inte ändras i värde (Visual Basic)

Begreppet variabel som inte ändrar dess värde kan tyckas vara motstridigt. Men det finns situationer när en konstant inte är möjlig och det är användbart att ha en variabel med ett fast värde. I så fall kan du definiera en medlemsvariabel med nyckelordet ReadOnly .

Du kan inte använda Const-instruktionen för att deklarera och tilldela ett konstant värde under följande omständigheter:

  • Instruktionen Const accepterar inte den datatyp som du vill använda

  • Du vet inte värdet vid kompileringstillfället

  • Det går inte att beräkna konstantvärdet vid kompileringstiden

Skapa en variabel som inte ändras i värde

  1. Deklarera en medlemsvariabel med Dim-instruktionen på modulnivå och inkludera nyckelordet ReadOnly.

    Dim ReadOnly timeStarted
    

    Du kan bara ange ReadOnly för en medlemsvariabel. Det innebär att du måste definiera variabeln på modulnivå, utanför någon procedur.

  2. Om du kan beräkna värdet i en enda instruktion vid kompileringstillfället använder du en initieringssats i -instruktionen Dim . Följ As-satsen med ett likhetstecken (=), följt av ett uttryck. Se till att kompilatorn kan utvärdera det här uttrycket till ett konstant värde.

    Dim ReadOnly timeStarted As Date = Now
    

    Du kan bara tilldela ett värde till en variabel en ReadOnly gång. När du gör det kan ingen kod ändra dess värde.

    Om du inte känner till värdet vid kompilering eller inte kan beräkna det vid den tidpunkten i en enda instruktion, kan du fortfarande tilldela det vid körtid i en konstruktor. För att göra detta måste du deklarera variabeln ReadOnly på klass- eller strukturnivå. I konstruktorn för den klassen eller strukturen beräknar du variabelns fasta värde och tilldelar den till variabeln innan den returneras från konstruktorn.

Se även