csharp.aspone.cz csharp.aspone.cz

Řídící sekvence

Řídící sekvence nám zajišťují v textech uvádět znaky jakou jsou uvozovky, apostrofy, zpětné lomítko apod. Jazyk C# nemůže přeci vědět, kdy chci znak uvozovek vypsat a kdy ne.

Např. Console.Writeline("Pepa řekl: "Tohle nejde"");
Jak by měl jazyk takovýto kód přeložit? Právě proto jsou zde escape sekvence, neboli řídící znaky.

Správně zapsaný zápis je takto: Console.Writeline("Pepa řekl: \"Tohle nejde\""); První by hodil chybu.
  \u0022    \"              Uvozovky
  \u002C    \'              Apostrof
  \u005C    \\              Zpětné lomítko
  \u0000    \0              Prázdná hodnota znaku (null)
  \u0007    \a              Zvukový signál
  \u0008    \b              Klávesa zpět
  \u000C    \f              Posuv formuláře (nová stránka)
  \u000A    \n              Znak nového řádku
  \u000D    \r              Návrat na začátek řádku
  \u0009    \t              Tabulátor
  \u000B    \v              Svislý tabulátor

Doslovné řetězce

Doslovné řetězce se používají k vypnutí zpracování řídících znaků nebo literálu. Když budu pracovat s cestou k adresářům, můžu toto použít. Místo // dvou zpětných lomítek pak stačí psát jedno zpětné lomítko. Je to asi něco jako tag pre v html kde se mi zachovají i prázdné znaky.

Abych získal tyto možnosti, musím dát před uvozovky zavináč (at). Jako zde:

    Console.WriteLine(@"C:\MyApp\bin\debug");

Přes více řádků to pak vypadá takto:

string mujDlouhyRetezec = @"Zde je ten
dlouhej
slibovanej 
řetězec"
Console.WriteLine(mujDlouhyRetezec);