Caratteri speciali nel codice (Visual Basic)Special Characters in Code (Visual Basic)

In alcuni casi è necessario usare caratteri speciali nel codice, ovvero caratteri non alfabetici o numerici.Sometimes you have to use special characters in your code, that is, characters that are not alphabetical or numeric. La punteggiatura e i caratteri speciali del set di caratteri Visual Basic hanno diversi usi, dall'organizzazione del testo del programma alla definizione delle attività eseguite dal compilatore o dal programma compilato.The punctuation and special characters in the Visual Basic character set have various uses, from organizing program text to defining the tasks that the compiler or the compiled program performs. Questi caratteri non specificano l'esecuzione di un'operazione.They do not specify an operation to be performed.

ParentesiParentheses

Usare le parentesi quando si definisce una routine, ad esempio Sub o. FunctionUse parentheses when you define a procedure, such as a Sub or Function. È necessario racchiudere tra parentesi tutti gli elenchi di argomenti di routine.You must enclose all procedure argument lists in parentheses. È inoltre possibile utilizzare le parentesi per inserire variabili o argomenti in gruppi logici, in particolare per eseguire l'override dell'ordine predefinito di precedenza degli operatori in un'espressione complessa.You also use parentheses for putting variables or arguments into logical groups, especially to override the default order of operator precedence in a complex expression. Questa condizione è illustrata nell'esempio seguente.The following example illustrates this.

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.Following execution of the previous code, the value of d is 8.225 and the value of e is 3. Il calcolo per d utilizza la precedenza predefinita di / over + ed è equivalente a d = b + (c / a).The calculation for d uses the default precedence of / over + and is equivalent to d = b + (c / a). Le parentesi nel calcolo per e eseguono l'override della precedenza predefinita.The parentheses in the calculation for e override the default precedence.

SeparatoriSeparators

I separatori eseguono le operazioni che il nome suggerisce: separano sezioni di codice.Separators do what their name suggests: they separate sections of code. In Visual Basic il carattere separatore è costituito dai:due punti ().In Visual Basic, the separator character is the colon (:). Usare i separatori quando si desidera includere più istruzioni su una sola riga anziché su righe separate.Use separators when you want to include multiple statements on a single line instead of separate lines. Questo consente di risparmiare spazio e di migliorare la leggibilità del codice.This saves space and improves the readability of your code. Nell'esempio seguente vengono illustrate tre istruzioni separate da due punti.The following example shows three statements separated by colons.

a = 3.2 : b = 7.6 : c = 2

Per altre informazioni, vedere Procedura: Interrompere e combinare istruzioni nel codice.For more information, see How to: Break and Combine Statements in Code.

Il carattere due:punti () viene utilizzato anche per identificare un'etichetta di istruzione.The colon (:) character is also used to identify a statement label. Per altre informazioni, vedere Procedura: IstruzioniLabel.For more information, see How to: Label Statements.

ConcatenazioneConcatenation

Utilizzare l' & operatore perla concatenazione o collegare le stringhe.Use the & operator for concatenation, or linking strings together. Non confonderla con l' + operatore, che somma i valori numerici.Do not confuse it with the + operator, which adds together numeric values. Se si utilizza l' + operatore per concatenare quando si opera su valori numerici, è possibile ottenere risultati non corretti.If you use the + operator to concatenate when you operate on numeric values, you can obtain incorrect results. Nell'esempio che segue viene illustrato quanto descritto.The following example demonstrates this.

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".Following execution of the previous code, the value of resultA is 21.01 and the value of resultB is "10.0111".

Operatori di accesso ai membriMember Access Operators

Per accedere a un membro di un tipo, usare l'operatore punto.() o punto esclamativo (!) tra il nome del tipo e il nome del membro.To access a member of a type, you use the dot (.) or exclamation point (!) operator between the type name and the member name.

Punto (.) OperatorDot (.) Operator

Usare l' . operatore in una classe, una struttura, un'interfaccia o un'enumerazione come operatore di accesso ai membri.Use the . operator on a class, structure, interface, or enumeration as a member access operator. Il membro può essere un campo, una proprietà, un evento o un metodo.The member can be a field, property, event, or method. Questa condizione è illustrata nell'esempio seguente.The following example illustrates this.

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 (!) OperatorExclamation Point (!) Operator

Usare l' ! operatore solo in una classe o in un'interfaccia come operatore di accesso del dizionario.Use the ! operator only on a class or interface as a dictionary access operator. La classe o l'interfaccia deve avere una proprietà predefinita che accetta un String singolo argomento.The class or interface must have a default property that accepts a single String argument. L'identificatore immediatamente successivo all' ! operatore diventa il valore dell'argomento passato alla proprietà predefinita sotto forma di stringa.The identifier immediately following the ! operator becomes the argument value passed to the default property as a string. Nell'esempio che segue viene illustrato quanto descritto.The following example demonstrates this.

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

Le tre righe di output MsgBox di tutti visualizzano 32856il valore.The three output lines of MsgBox all display the value 32856. La prima riga usa l'accesso tradizionale alla proprietà index, il secondo usa il fatto che index è la proprietà predefinita della classe hasDefaulte la terza usa l'accesso tramite dizionario alla classe.The first line uses the traditional access to property index, the second makes use of the fact that index is the default property of class hasDefault, and the third uses dictionary access to the class.

Si noti che il secondo operando ! dell'operatore deve essere un identificatore di Visual Basic valido non racchiuso tra virgolette doppie (" ").Note that the second operand of the ! operator must be a valid Visual Basic identifier not enclosed in double quotation marks (" "). In altre parole, non è possibile usare un valore letterale stringa o una variabile di stringa.In other words, you cannot use a string literal or string variable. La seguente modifica all'ultima riga della MsgBox chiamata genera un errore perché "X" è un valore letterale stringa racchiuso.The following change to the last line of the MsgBox call generates an error because "X" is an enclosed string literal.

"Dictionary access returns " & hD!"X")

Nota

I riferimenti alle raccolte predefinite devono essere espliciti.References to default collections must be explicit. In particolare, non è possibile usare ! l'operatore su una variabile ad associazione tardiva.In particular, you cannot use the ! operator on a late-bound variable.

Il ! carattere viene utilizzato anche Single come carattere di tipo.The ! character is also used as the Single type character.

Vedere ancheSee also