Condividi tramite


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

Caratteri tipo (Visual Basic)

Altre risorse

Struttura del programma e convenzioni di scrittura del codice (Visual Basic)