Caratteri speciali nel codice (Visual Basic)
Talvolta può risultare necessario utilizzare caratteri speciali nel codice, ovvero caratteri non alfanumerici o numerici. La punteggiatura e i caratteri speciali presenti nel set di caratteri Visual Basic vengono utilizzati per diversi scopi, dall'organizzazione del testo di programma alla definizione di attività eseguite dal compilatore o dal programma compilato. Questi caratteri non specificano l'esecuzione di un'operazione.
Parentesi
Utilizzare le parentesi per definire una procedura, quale Sub o Function. È necessario racchiudere tra parentesi tutti gli elenchi di argomenti della routine. È possibile, inoltre, utilizzare le parentesi per inserire variabili o argomenti in gruppi logici, soprattutto per eseguire l'override dell'ordine di precedenza predefinito degli operatori in un'espressione complessa. Questa condizione è illustrata nell'esempio che segue.
Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a
Dopo l'esecuzione del codice precedente, il valore di d è 8,225 e il valore di e è 3. Il calcolo per d utilizza la precedenza predefinita di / rispetto a + ed è equivalente a d = b + (c / a). Le parentesi nel calcolo di e sostituiscono la precedenza predefinita.
Separatori
Come suggerito dal nome stesso, il ruolo dei separatori consiste nella separazione delle sezioni del codice. In Visual Basic, il carattere separatore è rappresentato dai due punti (:). Utilizzare i separatori per includere più istruzioni su una sola riga anziché su righe separate, al fine di risparmiare spazio e migliorare la leggibilità del codice. Nell'esempio seguente vengono mostrate tre istruzioni separate da due punti.
a = 3.2 : b = 7.6 : c = 2
Per ulteriori informazioni, vedere Procedura: interrompere e combinare istruzioni nel codice (Visual Basic).
Il carattere due punti (:) viene inoltre utilizzato per identificare un'etichetta dell'istruzione. Per ulteriori informazioni, vedere Procedura: etichettare le istruzioni (Visual Basic).
Concatenazione
Per la concatenazione, ovvero il collegamento di più stringhe, utilizzare l'operatore &, da non confondere con l'operatore + che invece somma valori numerici. L'utilizzo dell'operatore + per la concatenazione può generare risultati errati nel caso di operandi numerici. Nell'esempio che segue viene illustrato quanto descritto.
var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2
Dopo l'esecuzione del codice precedente, il valore di resultA è 21,01 e il valore di resultB è "10,0111".
Operatori di accesso ai membri
Per accedere al membro di un tipo, utilizzare l'operatore punto (.) o punto esclamativo (!) inserendolo tra il nome del tipo e il nome del membro.
Punto (.) Operatore
Utilizzare l'operatore . in una classe, struttura, interfaccia o enumerazione come operatore di accesso al membro. Il membro può essere un campo, una proprietà, un evento o un metodo. Questa condizione è illustrata nell'esempio che segue.
Dim nextForm As New System.Windows.Forms.Form
' Access Text member (property) of Form class (on nextForm object).
nextForm.Text = "This is the next form"
' Access Close member (method) on nextForm.
nextForm.Close()
Punto esclamativo (!) Operatore
Utilizzare l'operatore ! solo in una classe o in un'interfaccia, come operatore di accesso al dizionario. È necessario che la classe o l'interfaccia disponga di una proprietà predefinita che accetta un unico argomento String. L'identificatore immediatamente successivo all'operatore ! diventa il valore dell'argomento passato alla proprietà predefinita come stringa. Nell'esempio che segue viene illustrato quanto descritto.
Public Class hasDefault
Default Public ReadOnly Property index(ByVal s As String) As Integer
Get
Return 32768 + AscW(s)
End Get
End Property
End Class
Public Class testHasDefault
Public Sub compareAccess()
Dim hD As hasDefault = New hasDefault()
MsgBox("Traditional access returns " & hD.index("X") & vbCrLf &
"Default property access returns " & hD("X") & vbCrLf &
"Dictionary access returns " & hD!X)
End Sub
End Class
In tutte le tre righe di output MsgBox viene visualizzato il valore 32856. La prima riga utilizza l'accesso tradizionale alla proprietà index, la seconda tiene conto del fatto che index è la proprietà predefinita della classe hasDefault e la terza utilizza l'accesso del dizionario alla classe.
Il secondo operando dell'operatore ! deve essere una identificatore Visual Basic valido non racchiuso tra virgolette (" "). In altre parole, non è possibile utilizzare una stringa letterale o una variabile di tipo stringa. La modifica seguente dell'ultima riga della chiamata MsgBox genera un errore perché "X" è una stringa letterale racchiusa.
"Dictionary access returns " & hD!"X")
Nota
È necessario che i riferimenti agli insiemi predefiniti siano espliciti. In particolare, non è possibile utilizzare l'operatore ! su una variabile ad associazione tardiva.
Il carattere ! viene utilizzato anche come carattere tipo Single.
Vedere anche
Concetti
Altre risorse
Struttura del programma e convenzioni di scrittura del codice (Visual Basic)