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.

Consulte também