Speciální znaky v kódu (Visual Basic)

Někdy musíte v kódu použít speciální znaky, tedy znaky, které nejsou abecední nebo číselné. Interpunkce a speciální znaky v sadě znaků jazyka Visual Basic mají různé použití, od uspořádání textu programu po definování úloh, které kompilátor nebo zkompilovaný program provádí. Nezadávají operaci, která se má provést.

Závorky

Použití závorek při definování procedury, například nebo SubFunction. Všechny seznamy argumentů procedury je nutné uzavřít do závorek. K umístění proměnných nebo argumentů do logických skupin se používají také závorky, zejména k přepsání výchozího pořadí priorit operátorů v komplexním výrazu. Toto dokládá následující příklad.

Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a

Po spuštění předchozího kódu je hodnota d 8,225 a hodnota e je 3. Výpočet pro d použití výchozí priority / nad + a je ekvivalentní d = b + (c / a). Závorky ve výpočtu pro e přepsání výchozí priority.

Oddělovače

Oddělovače dělají, co jejich název naznačuje: oddělují oddíly kódu. V jazyce Visual Basic je znak oddělovače dvojtečka (:). Oddělovače použijte, pokud chcete místo samostatných řádků zahrnout více příkazů na jeden řádek. Tím ušetříte místo a zlepšíte čitelnost kódu. Následující příklad ukazuje tři příkazy oddělené dvojtečkami.

a = 3.2 : b = 7.6 : c = 2

Další informace naleznete v tématu Postupy: Přerušení a kombinování příkazů v kódu.

Znak dvojtečky (:) slouží také k identifikaci popisku příkazu. Další informace naleznete v tématu Postupy: Příkazy popisků.

Zřetězení

& Operátor použijte ke zřetězení nebo propojení řetězců. Nezaměňujte ho s operátorem + , který sečte číselné hodnoty. Pokud použijete + operátor ke zřetězení při práci s číselnými hodnotami, můžete získat nesprávné výsledky. Následující příklad ukazuje to.

var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2

Po spuštění předchozího kódu je hodnota resultA 21,01 a hodnota resultB je 10,011.

Operátory přístupu členů

Pokud chcete získat přístup k členu typu, použijte operátor tečky (.) nebo vykřičníku (!) mezi názvem typu a názvem člena.

Tečka (.) Operátor

. Jako operátor přístupu člena použijte operátor třídy, struktury, rozhraní nebo výčtu. Člen může být pole, vlastnost, událost nebo metoda. Toto dokládá následující příklad.

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()

Vykřičník (!) Operátor

! Operátor použijte pouze u třídy nebo rozhraní jako operátor přístupu ke slovníku. Třída nebo rozhraní musí mít výchozí vlastnost, která přijímá jeden String argument. Identifikátor bezprostředně za ! operátorem se stane hodnotou argumentu předanou výchozí vlastnosti jako řetězec. Následující příklad ukazuje to.

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

Tři výstupní řádky MsgBox všech zobrazují hodnotu 32856. První řádek používá tradiční přístup k vlastnosti index, druhý využívá skutečnost, že index je výchozí vlastnost třídy hasDefaulta třetí používá slovníkový přístup ke třídě.

Všimněte si, že druhý operand operátoru ! musí být platný identifikátor jazyka Visual Basic, který není uzavřený v uvozovkách (" "). Jinými slovy, nemůžete použít řetězcový literál ani řetězcovou proměnnou. Následující změna posledního MsgBox řádku volání vygeneruje chybu, protože "X" je uzavřený řetězcový literál.

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

Poznámka:

Odkazy na výchozí kolekce musí být explicitní. Konkrétně nelze použít ! operátor v proměnné s pozdní vazbou.

Znak ! se také používá jako Single znak typu.

Viz také