Differenze tra argomenti modificabili e non modificabili (Visual Basic)
Quando si chiama una routine, in genere si passano uno o più argomenti. Ogni argomento corrisponde a un elemento di programmazione sottostante. Sia gli elementi sottostanti sia gli argomenti stessi possono essere modificabili o non modificabili.
Elementi modificabili e non modificabili
Un elemento di programmazione può essere un elemento modificabile, il cui valore può essere modificato, oppure un elemento non modificabile, che ha un valore fisso dopo la creazione.
Nella tabella seguente sono elencati gli elementi di programmazione modificabili e non modificabili.
Elementi modificabili | Elementi non modificabili |
---|---|
Variabili locali (dichiarate all'interno di routine), incluse le variabili oggetto, ad eccezione di quelle di sola lettura | Variabili, campi e proprietà di sola lettura |
Campi (variabili membro di moduli, classi e strutture), ad eccezione dei campi di sola lettura | Costanti e valori letterali |
Proprietà, ad eccezione delle proprietà di sola lettura | Membri di enumerazione |
Elementi della matrice | Espressioni (anche se i relativi elementi sono modificabili) |
Argomenti modificabili e non modificabili
Un argomento modificabile è un argomento con un elemento sottostante modificabile. Il codice chiamante può archiviare un nuovo valore in qualsiasi momento e, se si passa l'argomento ByRef, il codice nella routine può anche modificare l'elemento sottostante nel codice chiamante.
Un argomento non modificabile ha un elemento sottostante non modificabile o viene passato ByVal. La routine non può modificare l'elemento sottostante nel codice chiamante, anche se è un elemento modificabile. Se si tratta di un elemento non modificabile, il codice chiamante stesso non può modificarlo.
La routine chiamata potrebbe modificare la copia locale di un argomento non modificabile, ma tale modifica non influisce sull'elemento sottostante nel codice chiamante.
Vedi anche
- Procedure
- Parametri e argomenti delle routine
- Procedura: Passare argomenti a una routine
- Passaggio di argomenti per valore e per riferimento
- Differenze tra il passaggio di un argomento per valore e per riferimento
- Procedura: cambiare il valore di un argomento di routine
- Procedura: impedire la modifica del valore di un argomento di una routine
- Procedura: forzare il passaggio di un argomento per valore
- Passaggio di argomenti in base alla posizione e al nome
- Tipi valore e tipi di riferimento