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çã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
Reference Types (C# Reference)
Conceitos
Práticas recomendadas para o uso de cadeias de caracteres na.NET Framework
Criando Novas Sequências de Caracteres
Outros recursos
Operações Básicas com Sequências de Caracteres
Formatação Tabela de Resultados numéricos (referência de C#)