English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Cadeias de Caracteres do C# (String)

No C#, a string é uma série de caracteres usada para representar texto. Pode ser um caractere, uma palavra ou um parágrafo longo entre aspas duplas. Aqui estão os textos literais.

"S"
"String"
"This is a string."

O C# fornece o tipo de dados String para armazenar literais de string. É possível declarar variáveis do tipo string e atribuir literais de string, conforme mostrado a seguir.

string ch = "S";
string word = "String";
string text = "This is a string.";

O tamanho máximo do objeto de string na memória é2GB, aproximadamente10bilhões de caracteres. No entanto, na prática, depende menos do CPU e da memória do computador.

Existem duas maneiras de declarar variáveis de string no C#. Usando a classe System.String e a palavra-chave string. Ambos são iguais, não há diferença.

string str1 = "Hello"; // Usando a palavra-chave de string
 
String str2 = "Hello"; // Usando a classe System.String

No C#, as strings são conjuntos ou arrays de caracteres. Portanto, é possível criar strings usando arrays de char e acessar strings como arrays de char.

char[] chars = {'H','e','l','l','o'};
string str1 = new string(chars);  
String str2 = new String(chars); 
foreach (char c in str1)
{
    Console.WriteLine(c);
}

Caracteres especiais

O texto do mundo real pode conter qualquer caractere. No C#, pois as strings são delimitadas por aspas duplas, não podem conter (”) dentro da string. O seguinte conteúdo gerará erro de compilação.

string text = "This is a "string" in C#.";

O C# inclui o caractere de escape \ (barra invertida) antes desses caracteres especiais.

string text = "This is a \
string str = \\
string path = \\\\mypc\\	shared\\	project";

Mas, adicionar \\

string str = @"xyzdef\rabc";
string path = @"\\mypc\shared\project";
string email = @"[email protected]";

Usar @ e \ para declarar strings de múltiplas linhas.

string str = @"this is a \",
multi line \

string";

Observe que, para permitir a presença de aspas duplas dentro de uma string, é necessário usar a barra invertida \ no interior da string. O @ é aplicável apenas a caracteres especiais no C#.

string text = @"This is a \ // erro
string text = @"This is a \ // erro
string text = "This is a \ // válido

concatenação de strings

Múltiplas strings podem ser conectadas usando + operador de conexão.

string name = "Mr." + "James " + "Bond" + "	Code: 	00"7";
 
string firstName = "James";
string lastName = "Bond";
string code = "007";
 
string agent = "Mr." + firstName + "	" + lastName + "	Code: 	" + code;

As strings no C# são imutáveis. Isso significa que são leitura-only, uma vez que são criadas na memória, não podem ser alteradas. Cada vez que concatenamos strings, o CLR do .NET cria uma nova posição de memória para a string concatenada. Portanto, se concatenarmos cinco ou mais strings, é recomendável usar StringBuilder em vez de strings.

interpolação de strings

A interpolação de strings é uma maneira melhor de conectar strings. Usamos+Os símbolos conectam a variável de string com a string estática.

C#6Contém um caractere especial $, usado para identificar strings de interpolação. A string de interpolação é uma mistura de string estática e variável de string, onde a variável de string deve estar entre chaves {}.

string firstName = "James";
string lastName = "Bond";
string code = "007";
 
string fullName = "$Mr. {firstName} {lastName}, Code: {code}";

No exemplo de interpolação acima, $ representa a interpolação de string, enquanto {} inclui variáveis de string a serem combinadas com a string.

Use dois chaves de curvas "{{" ou "}}" para incluir { ou } em uma string.