a seqüência de caracteres (C# referência)

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

Embora string é um tipo de referência, os operadores de igualdade (== e !=) são definidos para comparar os valores de string objetos, referências. Isso torna o teste de igualdade entre strings mais intuitivo. 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, em seguida, "False" porque o conteúdo das seqüências são equivalentes, mas a e b não se referem a mesma instância de seqüência de caracteres.

O + operador concatena seqüências:

string a = "good " + "morning";

Isso cria um objeto de seqüência de caracteres que contém "good morning".

Strings são imutáveis– o conteúdo de um objeto string não pode ser alterado depois que o objeto é criado, embora a sintaxe faz com que ela aparece como se pode fazer isso. Por exemplo, quando você escreve esse código, o compilador cria um novo objeto de seqüência de caracteres para armazenar a nova seqüência de caracteres e esse novo objeto é atribuído à b. A seqüência de caracteres "h" em seguida, está qualificado para coleta de lixo.

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

O operador [] pode ser usado para o acesso somente leitura a caracteres individuais de um string:

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

Seqüência de caracteres literais são do tipo string e podem ser gravados em dois formatos, entre aspas e @ cotado. Citou a seqüência de caracteres literais são colocados entre aspas duplas ("):

"good morning"  // a string literal

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

string a = "\\\u0066\n";
Console.WriteLine(a);
ObservaçãoObservação

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

Literais de cadeia de caracteres verbatim começam com e também são colocados entre aspas duplas. Por exemplo:

@"good morning"  // a string literal

A vantagem de seqüências de caracteres verbatim é que as seqüências de escape não processados, que torna fácil escrever, por exemplo, um nome de arquivo totalmente qualificado:

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

Para incluir um aspas duplas em uma seqüência @-aspas, duplique-a:

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

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

Para obter mais informações sobre seqüências de caracteres em C#, consulte Strings (C# Programming Guide).

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 C# Language Specification A especificação de linguagem é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também

Referência

C# Keywords

Reference Types (C# Reference)

Value Types (C# Reference)

Conceitos

C# Programming Guide

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

C# Programming Guide

Criando Novas Sequências de Caracteres

Outros recursos

C# Reference

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

Formatação Tabela de Resultados numéricos (referência de C#)