Share via


Differenze tra argomenti modificabili e non modificabili

Aggiornamento: novembre 2007

Quando si chiama una routine, generalmente si passano uno o più argomenti. Ogni argomento corrisponde a un elemento di programmazione sottostante. Sia gli elementi sottostanti che gli argomenti stessi possono essere modificabili o meno.

Elementi modificabili e non modificabili

Un elemento di programmazione può essere un elemento modificabile, ovvero con un valore che può essere modificato, o un elemento non modificabile, ovvero con un valore che resta fisso in seguito alla relativa creazione.

Nella tabella riportata di seguito sono elencati elementi di programmazione modificabili e non modificabili.

Elementi modificabili

Elementi non modificabili

Variabili locali dichiarate all'interno delle 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 di quelli di sola lettura

Costanti e valori letterali

Proprietà, ad eccezione di quelle di sola lettura

Membri di enumerazione

Elementi di matrice

Espressioni (anche se i relativi elementi sono modificabili)

Argomenti modificabili e non modificabili

Un argomento modificabile contiene un elemento sottostante modificabile. È possibile memorizzare un nuovo valore nel codice chiamante in qualsiasi momento, nonché modificare l'elemento sottostante di tale codice mediante il codice della routine se l'argomento viene passato ByRef.

Un argomento non modificabile contiene un elemento sottostante non modificabile o viene passato ByVal. Non è possibile modificare l'elemento sottostante nel codice chiamante mediante la routine, anche se si tratta di un elemento modificabile. Se è un elemento non modificabile, non può essere modificato mediante il codice chiamante.

La routine chiamata può modificare la rispettiva copia locale di un argomento non modificabile, ma tale modifica non ha effetto sull'elemento sottostante nel codice chiamante.

Vedere anche

Attività

Procedura: passare argomenti a una routine

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

Concetti

Routine in Visual Basic

Parametri e argomenti delle routine

Passaggio di argomenti per valore e per riferimento

Differenze tra il passaggio di argomenti per valore e per riferimento

Passaggio di argomenti tramite posizione e tramite nome

Tipi valore e tipi riferimento