Compartilhar via


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.

Confira também