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