Compartilhar via


Tipo de dados da cadeia de caracteres (Visual Basic)

Contém sequências de pontos de código sem sinal de 16 bits (2 bytes) que variam no valor de 0 a 65535. Cada ponto de código, ou código de caractere, representa um caractere Unicode único. Uma cadeia de caracteres pode conter de 0 a aproximadamente dois bilhões (2 ^ 31) caracteres Unicode.

Comentários

Use o tipo de dados String para armazenar vários caracteres sem a sobrecarga de gerenciamento de matriz de Char(), uma matriz de elementos Char.

O valor padrão de String é Nothing (uma referência nula). Observe que isso não é o mesmo que a cadeia de caracteres vazia (valor "").

Caracteres Unicode

Os primeiros 128 pontos de código (0 a 127) do Unicode correspondem às letras e símbolos em um teclado padrão dos EUA. Esses primeiros 128 pontos de código são os mesmos definidos pelo conjunto de caracteres ASCII. Os segundos 128 pontos de código (128-255) representam caracteres especiais, como letras alfabéticas de base latina, acentos, símbolos de moeda e frações. O Unicode usa os pontos de código restantes (256-65535) para uma ampla variedade de símbolos. Isso inclui caracteres textuais, diacríticos e símbolos matemáticos e técnicos em todo o mundo.

Você pode usar métodos como IsDigit e IsPunctuation em um caractere individual em uma variável String para determinar a classificação Unicode.

Requisitos de formato

Você deve colocar um literal String entre aspas (" "). Se você precisar incluir uma aspa como um dos caracteres na cadeia de caracteres, use duas aspas contíguas (""). O exemplo a seguir ilustra essa situação.

Dim j As String = "Joe said ""Hello"" to me."  
Dim h As String = "Hello"  
' The following messages all display the same thing:  
' "Joe said "Hello" to me."  
MsgBox(j)  
MsgBox("Joe said " & """" & h & """" & " to me.")  
MsgBox("Joe said """ & h & """ to me.")  

Observe que as aspas contíguas que representam uma aspa na cadeia de caracteres são independentes das aspas que começam e terminam o literal String.

Manipulações de cadeia de caracteres

Depois de atribuir uma cadeia de caracteres a uma variável String, essa cadeia de caracteres é imutável, o que significa que você não pode alterar o comprimento ou o conteúdo. Quando você altera uma cadeia de caracteres de alguma forma, o Visual Basic cria uma nova cadeia de caracteres e abandona a anterior. Em seguida, a variável String aponta para a nova cadeia de caracteres.

Você pode manipular o conteúdo de uma variável String usando uma variedade de funções de cadeia de caracteres. O exemplo a seguir ilustra a função Left

Dim S As String = "Database"  
' The following statement sets S to a new string containing "Data".  
S = Microsoft.VisualBasic.Left(S, 4)  

Uma cadeia de caracteres criada por outro componente pode ser preenchida com espaços à esquerda ou à direita. Se você receber essa cadeia de caracteres, poderá usar as funções Trim, LTrim e RTrim para remover esses espaços.

Para obter mais informações sobre manipulações de cadeia de caracteres, confira Cadeia de caracteres.

Dicas de programação

  • Números Negativos. Lembre-se de que os caracteres mantidos por String não têm sinal e não podem representar valores negativos. De qualquer forma, você não deve usar String para manter valores numéricos.

  • Considerações sobre interoperabilidade. Se você estiver fazendo interface com componentes não escritos para o .NET Framework, por exemplo, objetos de Automação ou COM, lembre-se de que os caracteres de sua cadeia têm uma largura de dados diferente (8 bits) em outros ambientes. Se você estiver passando um argumento de cadeia de caracteres de 8 bits para tal componente, declare-o como Byte(), uma matriz de elementos Byte, em vez de String no novo código do Visual Basic.

  • Caracteres de tipo. Acrescentar o caractere de tipo identificador $ a qualquer identificador o força ao tipo de dados String. String não tem nenhum caractere de tipo literal. No entanto, o compilador trata literais entre aspas (" ") como String.

  • Tipo do Framework. O tipo correspondente no .NET Framework é a classe System.String.

Confira também