Criando novas cadeias de caracteres no .NET

O .NET permite que cadeias de caracteres sejam criadas usando atribuição simples e também sobrecarrega um construtor de classe para dar suporte à criação de cadeia de caracteres usando vários parâmetros diferentes. O .NET também fornece vários métodos na System.String classe que criam novos objetos de cadeia de caracteres combinando várias cadeias de caracteres, matrizes de cadeias de caracteres ou objetos.

Criando cadeias de caracteres usando atribuição

A maneira mais fácil de criar um novo String objeto é simplesmente atribuir um literal de cadeia de caracteres a um String objeto.

Criando cadeias de caracteres usando um construtor de classe

Você pode usar sobrecargas do construtor de classe para criar cadeias de caracteres a partir de matrizes de String caracteres. Você também pode criar uma nova cadeia de caracteres duplicando um caractere específico um número especificado de vezes.

Métodos que retornam cadeias de caracteres

A tabela a seguir lista vários métodos úteis que retornam novos objetos de cadeia de caracteres.

Nome do método Utilizar
String.Format Cria uma cadeia de caracteres formatada a partir de um conjunto de objetos de entrada.
String.Concat Cria cadeias de caracteres a partir de duas ou mais cadeias de caracteres.
String.Join Cria uma nova cadeia de caracteres combinando uma matriz de cadeias de caracteres.
String.Insert Cria uma nova cadeia de caracteres inserindo uma cadeia de caracteres no índice especificado de uma cadeia de caracteres existente.
String.CopyTo Copia caracteres especificados em uma cadeia de caracteres em uma posição especificada em uma matriz de caracteres.

Formato

Você pode usar o método String.Format para criar cadeias de caracteres formatadas e concatenar cadeias de caracteres que representam vários objetos. Esse método converte automaticamente qualquer objeto passado em uma cadeia de caracteres. Por exemplo, se seu aplicativo deve exibir um valor Int32 e um valor DateTime para o usuário, você pode facilmente construir uma cadeia de caracteres para representar esses valores usando o método Format . Para obter informações sobre convenções de formatação usadas com esse método, consulte a seção sobre formatação composta.

O exemplo a seguir usa o método Format para criar uma cadeia de caracteres que usa uma variável inteira.

int numberOfFleas = 12;
string miscInfo = String.Format("Your dog has {0} fleas. " +
                                "It is time to get a flea collar. " +
                                "The current universal date is: {1:u}.",
                                numberOfFleas, DateTime.Now);
Console.WriteLine(miscInfo);
// The example displays the following output:
//       Your dog has 12 fleas. It is time to get a flea collar.
//       The current universal date is: 2008-03-28 13:31:40Z.
Dim numberOfFleas As Integer = 12
Dim miscInfo As String = String.Format("Your dog has {0} fleas. " & _
                                       "It is time to get a flea collar. " & _
                                       "The current universal date is: {1:u}.", _
                                       numberOfFleas, Date.Now)
Console.WriteLine(miscInfo)
' The example displays the following output:
'       Your dog has 12 fleas. It is time to get a flea collar. 
'       The current universal date is: 2008-03-28 13:31:40Z.

Neste exemplo,DateTime.Now exibe a data e a hora atuais de uma maneira especificada pela cultura associada ao thread atual.

Concat

O método String.Concat pode ser usado para criar facilmente um novo objeto string a partir de dois ou mais objetos existentes. Ele fornece uma maneira independente de linguagem para concatenar cadeias de caracteres. Este método aceita qualquer classe que deriva de System.Object. O exemplo a seguir cria uma cadeia de caracteres a partir de dois objetos de cadeia de caracteres existentes e um caractere de separação.

string helloString1 = "Hello";
string helloString2 = "World!";
Console.WriteLine(String.Concat(helloString1, ' ', helloString2));
// The example displays the following output:
//      Hello World!
Dim helloString1 As String = "Hello"
Dim helloString2 As String = "World!"
Console.WriteLine(String.Concat(helloString1, " "c, helloString2))
' The example displays the following output:
'      Hello World!

Participar

O método String.Join cria uma nova cadeia de caracteres a partir de uma matriz de cadeias de caracteres e uma cadeia de caracteres separadora. Este método é útil se você quiser concatenar várias cadeias de caracteres juntas, fazendo uma lista talvez separada por uma vírgula.

O exemplo a seguir usa um espaço para vincular uma matriz de cadeia de caracteres.

string[] words = {"Hello", "and", "welcome", "to", "my" , "world!"};
Console.WriteLine(String.Join(" ", words));
// The example displays the following output:
//      Hello and welcome to my world!
Dim words() As String = {"Hello", "and", "welcome", "to", "my", "world!"}
Console.WriteLine(String.Join(" ", words))
' The example displays the following output:
'      Hello and welcome to my world!

Inserir

O método String.Insert cria uma nova cadeia de caracteres inserindo uma cadeia de caracteres em uma posição especificada em outra cadeia de caracteres. Este método usa um índice baseado em zero. O exemplo a seguir insere uma cadeia de caracteres na quinta posição de índice e cria uma nova cadeia de MyString caracteres com esse valor.

string sentence = "Once a time.";
 Console.WriteLine(sentence.Insert(4, " upon"));
 // The example displays the following output:
 //      Once upon a time.
Dim sentence As String = "Once a time."
Console.WriteLine(sentence.Insert(4, " upon"))
' The example displays the following output:
'      Once upon a time.

CopiarPara

O método String.CopyTo copia partes de uma cadeia de caracteres em uma matriz de caracteres. Você pode especificar o índice inicial da cadeia de caracteres e o número de caracteres a serem copiados. Esse método usa o índice de origem, uma matriz de caracteres, o índice de destino e o número de caracteres a serem copiados. Todos os índices são baseados em zero.

O exemplo a seguir usa o método CopyTo para copiar os caracteres da palavra "Hello" de um objeto string para a primeira posição de índice de uma matriz de caracteres.

string greeting = "Hello World!";
char[] charArray = {'W','h','e','r','e'};
Console.WriteLine("The original character array: {0}", new string(charArray));
greeting.CopyTo(0, charArray,0 ,5);
Console.WriteLine("The new character array: {0}", new string(charArray));
// The example displays the following output:
//       The original character array: Where
//       The new character array: Hello
Dim greeting As String = "Hello World!"
Dim charArray() As Char = {"W"c, "h"c, "e"c, "r"c, "e"c}
Console.WriteLine("The original character array: {0}", New String(charArray))
greeting.CopyTo(0, charArray, 0, 5)
Console.WriteLine("The new character array: {0}", New String(charArray))
' The example displays the following output:
'       The original character array: Where
'       The new character array: Hello

Consulte também