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
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 no .NET Framework
Criando novas cadeias de caracteres no .NET Framework
Outros recursos
Operações básicas de cadeias de caracteres no .NET Framework
Tabela de formatação de resultados numéricos (Referência de C#)