Specialtecken i kod (Visual Basic)
Ibland måste du använda specialtecken i koden, dvs. tecken som inte är alfabetiska eller numeriska. Skiljetecken och specialtecken i Visual Basic-teckenuppsättningen har olika användningsområden, från att organisera programtext till att definiera de uppgifter som kompilatorn eller det kompilerade programmet utför. De anger inte en åtgärd som ska utföras.
Parenteser
Använd parenteser när du definierar en procedur, till exempel en Sub
eller Function
. Du måste omsluta alla procedurargumentlistor inom parenteser. Du använder också parenteser för att placera variabler eller argument i logiska grupper, särskilt för att åsidosätta standardordningen för operatorprioriteten i ett komplext uttryck. I följande exempel visas detta.
Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a
Efter körningen av den tidigare koden är värdet d
8,225 och värdet e
för är 3. Beräkningen för d
använder standardprioriteten /
över +
och motsvarar d = b + (c / a)
. Parenteserna i beräkningen för e
åsidosätter standardprioretensen.
Avgränsare
Avgränsare gör vad deras namn antyder: de separerar kodavsnitt. I Visual Basic är avgränsartecknet kolon (:
). Använd avgränsare när du vill inkludera flera instruktioner på en enda rad i stället för separata rader. Detta sparar utrymme och förbättrar kodens läsbarhet. I följande exempel visas tre instruktioner avgränsade med kolon.
a = 3.2 : b = 7.6 : c = 2
Mer information finns i How to: Break and Combine Statements in Code (Så här gör du: Bryt och kombinera instruktioner i kod).
Kolontecknet (:
) används också för att identifiera en instruktionsetikett. Mer information finns i Anvisningar: Etikettinstruktioner.
Sammanfogning
Använd operatorn &
för sammanfogning eller länka samman strängar. Blanda inte ihop det med operatorn +
, som lägger ihop numeriska värden. Om du använder operatorn +
för att sammanfoga när du använder numeriska värden kan du få felaktiga resultat. I följande exempel visas detta.
var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2
Efter körningen av den tidigare koden är värdet resultA
21,01 och värdet resultB
för är "10.0111".
Åtkomstoperatorer för medlemmar
Om du vill komma åt en medlem av en typ använder du punktoperatorn (.
) eller utropstecknet (!
) mellan typnamnet och medlemsnamnet.
Punkt (.) Operatör
Använd operatorn .
på en klass, struktur, gränssnitt eller uppräkning som medlemsåtkomstoperator. Medlemmen kan vara ett fält, en egenskap, en händelse eller en metod. I följande exempel visas detta.
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()
Utropstecken (!) Operatör
Använd operatorn endast i !
en klass eller ett gränssnitt som en ordlisteåtkomstoperator. Klassen eller gränssnittet måste ha en standardegenskap som accepterar ett enda String
argument. Identifieraren omedelbart efter operatorn !
blir det argumentvärde som skickas till standardegenskapen som en sträng. I följande exempel visas detta.
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
De tre utdataraderna för MsgBox
alla visar värdet 32856
. Den första raden använder den traditionella åtkomsten till egenskapen index
, den andra använder det faktum att index
är standardegenskapen för klassen hasDefault
, och den tredje använder ordlisteåtkomst till klassen.
Observera att operatorns !
andra operand måste vara en giltig Visual Basic-identifierare som inte omges av dubbla citattecken (" "
). Med andra ord kan du inte använda en strängliteral eller strängvariabel. Följande ändring av den sista raden i anropet MsgBox
genererar ett fel eftersom "X"
är en omsluten strängliteral.
"Dictionary access returns " & hD!"X")
Kommentar
Referenser till standardsamlingar måste vara explicita. I synnerhet kan du inte använda operatorn !
för en sen bindningsvariabel.
Tecknet !
används också som Single
typtecken.