Sdílet prostřednictvím


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

Klíčová slova jazyka C#

Typy odkazů (Referenční dokumentace jazyka C#)

Typy hodnot (Referenční dokumentace jazyka C#)

Koncepty

Průvodce programováním v C#

Doporučené postupy pro používání řetězců v produktu .NET Framework

Průvodce programováním v C#

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#)