Caracteres especiais no código (Visual Basic)
Às vezes você precisa usar caracteres especiais em seu código, ou seja, caracteres que não são alfabéticos ou numéricos. Os sinais de pontuação e os caracteres especiais têm vários usos no conjunto de caracteres do C, desde a organização do texto do programa até a definição das tarefas que o compilador ou o programa compilado executam. Eles não especificam uma operação a ser executada.
Parênteses
Use parênteses quando definir um procedimento, como um Sub
ou Function
. Você deve incluir todas as listas de argumentos de procedimento em parênteses. Você também usa parênteses para colocar variáveis ou argumentos em grupos lógicos, especialmente para substituir a ordem padrão de precedência do operador em uma expressão complexa. O exemplo a seguir ilustra essa situação.
Dim a, b, c, d, e As Double
a = 3.2
b = 7.6
c = 2
d = b + c / a
e = (b + c) / a
Após a execução do código anterior, o valor de d
é 8.225, e o valor de e
é 3. O cálculo para d
usa a precedência padrão de /
sobre +
, e é equivalente a d = b + (c / a)
. Os parênteses no cálculo para e
substituem a precedência padrão.
Separadores
Separadores fazem o que nome sugere: eles separam seções de código. No Visual Basic, o caractere separador é o dois-pontos (:
). Use separadores quando quiser incluir várias instruções em uma única linha em vez de linhas separadas. Isso economiza espaço e melhora a legibilidade do código. O exemplo a seguir mostra três instruções separadas por dois-pontos.
a = 3.2 : b = 7.6 : c = 2
Para obter mais informações, consulte Como quebrar e combinar instruções no código.
O caractere de dois-pontos (:
) também é usado para identificar um rótulo de instrução. Para obter mais informações, consulte Como rotular instruções.
Concatenação
Use o operador &
para concatenação ou vinculação de cadeias de caracteres. Não o confunda com o operador +
, que adiciona valores numéricos. Se você usar o operador +
para concatenar quando operar em valores numéricos, poderá obter resultados incorretos. O exemplo a seguir demonstra isso.
var1 = "10.01"
var2 = 11
resultA = var1 + var2
resultB = var1 & var2
Após a execução do código anterior, o valor de resultA
é 21.01, e o valor de resultB
é 10.0111.
Operadores de acesso a membros
Para acessar um membro de um tipo, use o operador ponto (.
) ou ponto de exclamação (!
) entre o nome do tipo e o nome do membro.
Operador ponto (.)
Use o operador .
em uma classe, estrutura, interface ou enumeração como um operador de acesso a membro. O membro pode ser um campo, uma propriedade, um evento ou um método. O exemplo a seguir ilustra essa situação.
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()
Operador ponto de exclamação (!)
Use o operador !
somente em uma classe ou interface como um operador de acesso a dicionário. A classe ou interface deve ter uma propriedade padrão que aceite um único argumento String
. O identificador imediatamente após o operador !
se torna o valor do argumento passado para a propriedade padrão como uma cadeia de caracteres. O exemplo a seguir demonstra isso.
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
Todas as três linhas de saída de MsgBox
exibem o valor 32856
. A primeira linha usa o acesso tradicional à propriedade index
, a segunda usa o fato de que index
é a propriedade padrão da classe hasDefault
, e a terceira usa o acesso de dicionário à classe.
Observe que o segundo operando do operador !
deve ser um identificador válido do Visual Basic não contido entre aspas duplas (" "
). Em outras palavras, você não pode usar uma literal de cadeia de caracteres ou uma variável de cadeia de caracteres. A alteração a seguir na última linha da chamada MsgBox
gera um erro, porque "X"
é um literal de cadeia de caracteres fechado.
"Dictionary access returns " & hD!"X")
Observação
As referências a coleções padrão devem ser explícitas. Em especial, você não pode usar o operador !
em uma variável com associação tardia.
O caractere !
também é usado como o caractere de tipo Single
.