Compartilhar via


Noções básicas de string em Visual Basic

O tipo de dados String representa uma série de caracteres (cada um representando, um após o outro, uma instância do tipo de dados Char).Este tópico apresenta os conceitos básicos de strings em Visual Basic.

Variáveis String

Uma instância de uma string pode ser atribuída um valorliteral que representa uma série de caracteres.Por exemplo:

Dim MyString As String
MyString = "This is an example of the String data type"

Uma variável String também pode aceitar qualquer expressão avaliada como uma string.Exemplos são mostrados abaixo:

Dim OneString As String
Dim TwoString As String
OneString = "one, two, three, four, five"
' Evaluates to "two".
TwoString = OneString.Substring(5, 3)
OneString = "1"
' Evaluates to "11".
TwoString = OneString & "1"

Qualquer literal que é atribuído a uma variável String deve estar entre aspas (" ").Isso significa que aspas dentro de uma string não pode ser representado por aspas.Por exemplo, o código a seguir causa um erro do compilador.

Dim myString As String

' This line would cause an error.
' myString = "He said, "Look at this example!""

Esse código causa um erro porque o compilador termina a string após a segunda aspas, e o restante da string é interpretada como código.Para resolver esse problema, Visual Basic interpreta duas aspas em uma string literal como uma aspas na string.O exemplo a seguir demonstra a maneira correta de incluir aspas em uma string:

' The value of myString is: He said, "Look at this example!"
myString = "He said, ""Look at this example!"""

No exemplo anterior, as duas aspas antes da palavra Look se tornam uma aspas na string.As três aspas no final da linha representam uma aspas na string e o caractere de fim de string.

Caracteres em strings

Uma string pode ser considerada como uma série de valores Char,e o tipo String tem funções internas que permitem que você execute muitas manipulações em uma string parecidas com as manipulações permitidas por arrays.Como todos os arrays no .NET Framework, esses são arrays baseados em zero.Você pode se referir a um caractere específico em uma string através da propriedade Chars,que fornece uma maneira de acessar um caractere pela posição em que ele aparece na string.Por exemplo:

Dim myString As String = "ABCDE"
Dim myChar As Char
' The value of myChar is "C".
myChar = myString.Chars(3)

No exemplo acima, a propriedade Chars da string retorna o quarto caractere na sequência de caracteres, que é D e o atribui à myChar.Você também pode obter o tamanho de uma determinada sequência de caracteres através da propriedade Length.Se você precisar executar várias manipulações do tipo de arrays em uma sequência de caracteres, você pode converter um array de instâncias de Char usando a função ToCharArray da sequência da string.Por exemplo:

Dim myString As String = "abcdefghijklmnop"
Dim myArray As Char() = myString.ToCharArray

A variável myArray agora contém um array de valores Char,cada um representando um caractere de myString.

O imutabilidade de strings

Uma sequência de caracteres é imutável , o que significa que o valor não pode ser alterado depois que ela foi criada.No entanto, isso não impede que você atribua mais de um valor a uma variável de sequência de caracteres.Considere o exemplo a seguir:

Dim myString As String = "This string is immutable"
myString = "Or is it?"

Aqui, uma variável de sequência é criada, dado um valor, e em seguida, seu valor é alterado.

Mais especificamente, na primeira linha, uma instância do tipo String é criada e receberá o valor This string is immutable.Na segunda linha do exemplo, uma nova instância é criada e receberá o valor Or is it?, e a variável de sequência de caracteres descarta sua referência para a primeira instância e armazena uma referência para a nova instância.

Ao contrário de outros tipos de dados intrínsecos, String é um tipo de referência.Quando uma variável de tipo de referência é passada como um argumento para uma função ou sub-rotina, uma referência para o endereço de memória onde os dados são armazenados é passada em vez do valor real da sequência de caracteres.Portanto, no exemplo anterior, o nome da variável permanece o mesmo, mas ela aponta para uma instância nova e diferente da classe String,que contém o novo valor.

Consulte também

Referência

Tipo de dados de sequência de caracteres (Visual Basic)

Caractere tipo de dados (Visual Basic)

Outros recursos

Introdução a seqüências de caracteres no Visual Basic

Operações Básicas com Seqüências de Caracteres