Share via


string (Referência de C#)

O tipo de string representa uma sequência de zero ou mais caracteres Unicode. string é um alias para String no .NET Framework.

Embora string é um tipo de referência, os operadores de igualdade (== e !=) são definidos para comparar os valores de objetos de string , não referências. Isso faz testes para igualdade de cadeia de caracteres mais intuitivos. Por exemplo:

string a = "hello";
string b = "h";
// Append to contents of 'b'
b += "ello";
Console.WriteLine(a == b);
Console.WriteLine((object)a == (object)b);

Isso exibe “true” e “false” porque o conteúdo de cadeias de caracteres são equivalentes, mas a e b não referem-se à mesma instância de cadeia de caracteres.

O operador + concatena cadeias de caracteres:

string a = "good " + "morning";

Isso cria um objeto de cadeia de caracteres que contém “-” dia.

Cadeias de caracteres são imutáveis--o conteúdo de um objeto de cadeia de caracteres não podem ser alterados após o objeto é criado, embora a sintaxe faça o parecer se você pode fazer isso. Por exemplo, quando você escreve esse código, o compilador realmente criar um novo objeto de cadeia de caracteres para manter a nova sequência de caracteres, e esse novo objeto é atribuído ao B. A cadeia de caracteres “h” é então qualificado para coleta de lixo.

string b = "h";
b += "ello";

[] O operador pode ser usado para acesso readonly para caracteres individuais de string:

string str = "test";
char x = str[2];  // x = 's';

Literais de cadeia de caracteres são do tipo string e podem ser gravados em duas formas, ser entre aspas e @-quoted. Literais de cadeia de caracteres entre aspas são incluídos entre aspas duplas ("):

"good morning"  // a string literal

Literais de cadeia de caracteres podem conter qualquer caractere literal. As sequências de escape são incluídas. O exemplo a seguir usa a sequência de escape \\ para a barra invertida, o \u0066 para a letra f, e o \n para a nova linha.

string a = "\\\u0066\n";
Console.WriteLine(a);

Dica

O código de escape \EUAdddd ( dddd onde é um número de quatro dígitos) representa o caractere U+ddddUnicode.Códigos de escape Unicode de Oito- dígito também são reconhecidos: \Udddddddd.

O início textual de literais de cadeia de caracteres com @ e também estão incluídos entre aspas duplas. Por exemplo:

@"good morning"  // a string literal

A vantagem de cadeias de caracteres textuais é que as sequências de escape não são processadas, que facilitam gravar, por exemplo, um nome de arquivo totalmente qualificado:

@"c:\Docs\Source\a.txt"  // rather than "c:\\Docs\\Source\\a.txt"

Para incluir aspas duplas em uma cadeia de caracteres @-quoted, dobre-a:

@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.

Outro uso do símbolo @ é a identificadores referenciados uso de/reference() que são palavras-chave C#.

Para obter mais informações sobre cadeias de caracteres em C#, consulte Cadeias de caracteres (Guia de Programação em C#).

Exemplo

class SimpleStringTest 
{
   static void Main()
   {
      string a = "\u0068ello ";
      string b = "world";
      Console.WriteLine( a + b );
      Console.WriteLine( a + b == "Hello World" ); // == performs a case-sensitive comparison
   }
}
/* Output:
    hello world
    False
 */

Especificação da linguagem C#

Para obter mais informações, consulte a Especificação da linguagem C#. A especificação da linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

Palavras-chave C#

Tipos de referência (Referência de C#)

Tipos de valor (Referência de C#)

Conceitos

Guia de Programação em C#

Práticas recomendadas para o uso de cadeias de caracteres no .NET Framework

Guia de Programação em C#

Criando novas cadeias de caracteres no .NET Framework

Outros recursos

Referência de C#

Operações básicas de cadeias de caracteres no .NET Framework

Tabela de formatação de resultados numéricos (Referência de C#)