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. A pontuação e os caracteres especiais no conjunto de caracteres do Visual Basic têm vários usos, desde organizar o texto do programa até definir as tarefas executadas pelo compilador ou pelo programa compilado. 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 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 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 modificam a ordem de precedência padrão.

Separadores

Separadores fazem o que seu 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 interromper 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 confunda com o operador +, que soma valores numéricos. Se você usar o operador + para concatenar quando operar com 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 resultA é 21,01 e o valor é 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 de membro. O membro pode ser um campo, propriedade, evento ou 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 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 usa o fato de que index é a propriedade padrão da classe hasDefaulte 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 sem estar 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 tipo Single.

Consulte também