string (Referenční dokumentace jazyka C#)
string Typ představuje sekvenci nula nebo více znaků Unicode.stringje alias pro String v rozhraní.NET Framework.
I když string je odkazový typ, operátory rovnosti (== a !=) jsou definovány k porovnání hodnot string objekty, nikoli odkazuje.Díky testování rovnosti řetězec intuitivnější.Příklad:
string a = "hello";
string b = "h";
// Append to contents of 'b'
b += "ello";
Console.WriteLine(a == b);
Console.WriteLine((object)a == (object)b);
Zobrazí "hodnotu True" a potom "False" protože obsah řetězce jsou rovnocenné, ale a a b neodkazují na stejnou instanci řetězce.
+ Operátor zřetězí řetězce:
string a = "good " + "morning";
Tím se vytvoří objekt řetězce, který obsahuje "Dobré ráno".
Řetězce jsou neměnný– obsah objektu řetězce nelze změnit po vytvoření objektu, přestože syntaxí zobrazí jako kdyby to lze provést.Například při psaní tohoto kódu kompilátor skutečně vytvoří nový objekt řetězce k uložení nové sekvence znaků a b je přiřazen tento nový objekt.Řetězec "h" je způsobilé pro uvolňování paměti.
string b = "h";
b += "ello";
[] Operátor lze použít pro přístup jen pro čtení pro jednotlivé znaky string:
string str = "test";
char x = str[2]; // x = 's';
Řetězcové literály jsou typu string a mohou být napsány ve dvou formách, nabídek a @-quoted.Uvedená řetězec literály jsou uzavřeny v uvozovkách ("):
"good morning" // a string literal
Řetězcové literály mohou obsahovat libovolný znak literálu.Sekvence escape jsou zahrnuty.Následující příklad používá řídicí sekvence \\ pro zpětné lomítko, \u0066 pro písmeno f, a \n pro nový řádek.
string a = "\\\u0066\n";
Console.WriteLine(a);
[!POZNÁMKA]
Kód escape \udddd (kde dddd je čtyřmístné číslo) představuje znak sady Unicode U +dddd.Jsou také rozpoznán osm číslic Unicode znaky escape: \Udddddddd.
Verbatim řetězcové literály začínají a také ohraničen uvozovkami.Příklad:
@"good morning" // a string literal
Výhodou verbatim řetězce je, že sekvence escape Ne zpracování, které usnadňuje zápis, například úplný název souboru:
@"c:\Docs\Source\a.txt" // rather than "c:\\Docs\\Source\\a.txt"
@ Před řetězcovým zahrnout uvozovky, dvojité ji:
@"""Ahoy!"" cried the captain." // "Ahoy!" cried the captain.
Jiné použití znakem @ Chcete-li použít odkazuje (/Reference) identifikátory, které jsou klíčová slova jazyka C#.
Další informace o řetězcích v jazyce C# naleznete v tématu Řetězce (Průvodce programováním v C#).
Příklad
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
*/
Specifikace jazyka C#
Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.
Viz také
Referenční dokumentace
Typy odkazů (Referenční dokumentace jazyka C#)
Typy hodnot (Referenční dokumentace jazyka C#)
Koncepty
Doporučené postupy pro používání řetězců v produktu .NET Framework
Vytváření nových řetězců v .NET Frameworku
Další zdroje
Referenční dokumentace jazyka C#
Základní operace s řetězci v .NET Frameworku
Tabulka formátování číselných výsledků (Referenční dokumentace jazyka C#)