Condividi tramite


Istruzioni di assegnazione

Aggiornamento: novembre 2007

Le istruzioni di assegnazione consentono di eseguire operazioni di assegnazione, ovvero di ottenere il valore alla destra dell'operatore di assegnazione (=) e di archiviarlo nell'elemento a sinistra, come illustrato nell'esempio seguente.

v = 42

Nel precedente esempio l'istruzione di assegnazione viene utilizzata per archiviare il valore letterale 42 nella variabile v.

Elementi di programmazione idonei

L'elemento di programmazione a sinistra dell'operatore di assegnazione deve essere in grado di accettare e archiviare un valore, vale a dire una variabile o proprietà non ReadOnly (Visual Basic) o un elemento di matrice. Nel contesto di un'istruzione di assegnazione questo elemento viene a volte definito lvalue che sta per "valore sinistro".

Il valore a destra dell'operatore di assegnazione viene generato da un'espressione che può essere costituita da una combinazione qualsiasi di valori letterali, costanti, variabili, proprietà, elementi matrice, altre espressioni o chiamate di funzione. Questa condizione è illustrata nell'esempio che segue.

x = y + z + findResult(3)

Nell'esempio precedente viene aggiunto il valore contenuto nella variabile y al valore incluso nella variabile z, quindi viene aggiunto il valore restituito dalla chiamata alla funzione findResult. Il valore totale dell'espressione viene quindi archiviato nella variabile x.

Tipi di dati nelle istruzioni di assegnazione

Oltre ai valori numerici, l'operatore di assegnazione può assegnare i valori String come illustrato nell'esempio seguente.

Dim a, b As String
a = "String variable assignment"
b = "Con" & "cat" & "enation"
' The preceding statement assigns the value "Concatenation" to b.

È anche possibile assegnare i valori Boolean mediante un valore letterale Boolean o un'espressione Boolean come illustrato nell'esempio seguente.

Dim r, s, t As Boolean
r = True
s = 45 > 1003
t = 45 > 1003 Or 45 > 17
' The preceding statements assign False to s and True to t.

In modo simile, è possibile assegnare i valori appropriati agli elementi di programmazione del tipo di dati Char, Date oppure Object. È infine possibile assegnare un'istanza oggetto a un elemento dichiarato come classe da cui viene creata l'istanza.

Istruzioni di assegnazione composta

Le istruzioni di assegnazione composta consentono di eseguire un'operazione su un'espressione prima che questa venga assegnata all'elemento di programmazione. Nell'esempio seguente viene illustrato uno di questi operatori, +=, con il quale il valore della variabile alla sinistra dell'operatore viene incrementato del valore restituito dall'espressione alla destra:

n += 1

Nell'esempio precedente viene aggiunto 1 al valore di n, quindi il nuovo valore viene archiviato in n. È un'abbreviazione equivalente alla seguente istruzione:

n = n + 1

Gli operatori di questo tipo consentono di eseguire una serie di operazioni di assegnazione composte. Per un elenco completo e ulteriori informazioni su questi operatori, vedere Operatori di assegnazione.

Infine, l'operatore di assegnazione di concatenazione (&=) è utile per aggiungere una stringa alla fine di stringhe già esistenti, come illustrato nell'esempio seguente:

Dim q As String = "Sample "
q &= "String"
' q now contains "Sample String".

Conversioni di tipi nelle istruzioni di assegnazione

A una variabile, proprietà o un elemento matrice è necessario assegnare un valore di un tipo di dati appropriato all'elemento di destinazione. Generalmente è opportuno provare a generare un valore dello stesso tipo di dati di quello dell'elemento di destinazione. Tuttavia, durante l'assegnazione, è possibile convertire alcuni tipi in altri tipi.

Per informazioni sulla conversione tra tipi di dati, vedere Conversioni di tipi in Visual Basic. In breve, in Visual Basic, un valore di un determinato tipo viene automaticamente convertito in un altro tipo a cui viene ampliato. Una conversione versione un tipo di dati più grande si verifica sempre in fase di esecuzione e non comporta la perdita di dati. Ad esempio, in Visual Basic, un valore Integer viene convertito in Double nel momento appropriato perché Integer supporta la conversione verso un tipo di dati più grande Double. Per ulteriori informazioni, vedere Conversioni di ampliamento e restrizione.

Le conversioni verso un tipo di dati più piccolo comportano rischi di errori in fase di esecuzione oppure di perdita di dati. Pe eseguire una conversione verso un tipo di dati più piccolo in modo esplicito, è possibile utilizzare una funzione di conversione di tipo, oppure è possibile indicare al compilatore di eseguire tutte le conversioni in modo implicito impostando Option Strict Off. Per ulteriori informazioni, vedere Conversioni implicite ed esplicite.

Vedere anche

Concetti

Cenni preliminari sulle istruzioni

Istruzioni di dichiarazione in Visual Basic

Istruzioni eseguibili

Conversioni di ampliamento e restrizione

Riferimenti

Operatori di assegnazione