Caracteres especiais no código (Visual Basic)
Às vezes, você tem que usar caracteres especiais em seu código, ou seja, caracteres que não são alfabéticos ou numéricos. A pontuação e os caracteres especiais no conjunto de caracteres do Visual Basic têm vários usos, desde a organização do texto do programa até a definição das tarefas que o compilador ou o programa compilado executa. Eles não especificam uma operação a ser executada.
Parênteses
Use parênteses ao definir um procedimento, como um Sub
ou Function
. Você deve colocar todas as listas de argumentos de procedimento entre 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 isso.
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 /
over +
e é equivalente a d = b + (c / a)
. Os parênteses no cálculo para e
substituir a precedência padrão.
Separadores
Os separadores fazem o que o nome sugere: separam seções de código. No Visual Basic, o caractere separador é os 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 seu 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 dois pontos (:
) também é usado para identificar um rótulo de instrução. Para obter mais informações, consulte Como: Instruções de rótulo.
Concatenação
Use o &
operador para concatenação ou vinculação de cadeias de caracteres. Não confunda com o +
operador, que soma 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 de 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.
Ponto (.) Operador
Use o .
operador em uma classe, estrutura, interface ou enumeração como um operador de acesso de membro. O membro pode ser um campo, propriedade, evento ou método. O exemplo a seguir ilustra isso.
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()
Ponto de Exclamação (!) Operador
Use o operador somente em uma classe ou interface como um operador de acesso ao !
dicionário. A classe ou interface deve ter uma propriedade padrão que aceite um único String
argumento. O identificador imediatamente após o !
operador torna-se 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
As três linhas de saída de MsgBox
todas exibem o valor 32856
. A primeira linha usa o acesso tradicional à propriedade index
, a segunda faz uso do 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 entre aspas duplas (" "
). Em outras palavras, você não pode usar um literal de cadeia de caracteres ou uma variável de cadeia de caracteres. A seguinte alteração para a última linha da chamada gera um erro porque "X"
é uma cadeia de MsgBox
caracteres anexada literal.
"Dictionary access returns " & hD!"X")
Nota
As referências a coleções padrão devem ser explícitas. Em particular, você não pode usar o !
operador em uma variável de ligação tardia.
O !
caractere também é usado como o caractere de Single
tipo.