a seqüência de caracteres (C# Reference)
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);
Observação |
---|
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 Seqüências de caracteres (guia de programação do 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 Especificação de linguagem do C# A especificação da linguagem é a fonte definitiva para a sintaxe e o uso da linguagem C#.
Consulte também
Referência
Tipos de referência (referência de C#)
Tipos de valor (referência de C#)
Conceitos
Práticas recomendadas para o uso de cadeias de caracteres na.NET Framework
Criando novas seqüências de caracteres
Outros recursos
Operações básicas de seqüência de caracteres
Formatação de tabela de resultados numéricos (referência de C#)