Partilhar via


Tipo de dados de cadeia de caracteres (Visual Basic)

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

Observações

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

O valor padrão de String is 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–127) do Unicode correspondem às letras e símbolos de um teclado padrão dos EUA. Esses primeiros 128 pontos de código são os mesmos que o conjunto de caracteres ASCII define. Os segundos 128 pontos de código (128–255) representam caracteres especiais, como letras do alfabeto latino, acentos, símbolos de moeda e frações. O Unicode usa os pontos de código restantes (256-65535) para uma grande variedade de símbolos. Isso inclui caracteres textuais mundiais, diacríticos e símbolos matemáticos e técnicos.

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

Requisitos de formato

Você deve colocar um String literal entre aspas (" "). Se for necessário incluir aspas como um dos caracteres na cadeia de caracteres, use duas aspas contíguas (""). O exemplo a seguir ilustra isso.

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 aspas na cadeia de caracteres são independentes das aspas que começam e terminam o String literal.

Manipulações de cadeia de caracteres

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

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

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 Trimfunções , LTrime RTrim para remover esses espaços.

Para obter mais informações sobre manipulações de cadeia de caracteres, consulte Strings.

Dicas de programação

  • Números negativos. Lembre-se de que os caracteres mantidos por String não estão assinados e não podem representar valores negativos. Em qualquer caso, você não deve usar String para manter valores numéricos.

  • Considerações de interoperabilidade. Se você estiver fazendo interface com componentes não escritos para o .NET Framework, por exemplo, automação ou objetos COM, lembre-se de que os caracteres de cadeia de caracteres 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 esse componente, declare-o como Byte(), uma matriz de elementos, em vez de Byte em seu novo código do String Visual Basic.

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

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

Consulte também