Dela via


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.

Se även