C# Language                
            Strängföljdsekvenser
        
        
            
    Sök…
Syntax
- \ '- enda offert (0x0027)
- \ "- dubbla offert (0x0022)
- \\ - backslash (0x005C)
- \ 0 - null (0x0000)
- \ a - varning (0x0007)
- \ b - backspace (0x0008)
- \ f - formflöde (0x000C)
- \ n - ny rad (0x000A)
- \ r - vagn retur (0x000D)
- \ t - horisontell flik (0x0009)
- \ v - vertikal flik (0x000B)
- \ u0000 - \ uFFFF - Unicode-tecken
- \ x0 - \ xFFFF - Unicode-tecken (kod med variabel längd)
- \ U00000000 - \ U0010FFFF - Unicode-tecken (för att generera surrogat)
Anmärkningar
Strängfångssekvenser transformeras till motsvarande karaktär vid sammanställningstiden . Vanliga strängar som råkar innehålla bakåt snedstreck inte omvandlas.
 Till exempel notEscaped strängarna notEscaped och notEscaped2 nedan inte till en ny linje-karaktär, men kommer att förbli som två olika tecken ( '\' och 'n' ). 
string escaped = "\n";
string notEscaped = "\\" + "n";
string notEscaped2 = "\\n";
Console.WriteLine(escaped.Length); // 1
Console.WriteLine(notEscaped.Length); // 2            
Console.WriteLine(notEscaped2.Length); // 2
Unicode-karaktärsekvenser
string sqrt = "\u221A";      // √
string emoji = "\U0001F601"; // 😁
string text = "\u0022Hello World\u0022"; // "Hello World"
string variableWidth = "\x22Hello World\x22"; // "Hello World"
Rymmer specialsymboler i karaktärslitteraler
apostrofer
char apostrophe = '\'';
bakstreck
char oneBackslash = '\\';
Rymmer speciella symboler i strängbokstäver
bakstreck
// The filename will be c:\myfile.txt in both cases
string filename = "c:\\myfile.txt";
string filename = @"c:\myfile.txt";
Det andra exemplet använder en verbatim sträng bokstavlig , som inte behandlar motstreck som ett flyktecken.
Citat
string text = "\"Hello World!\", said the quick brown fox.";
string verbatimText = @"""Hello World!"", said the quick brown fox.";
Båda variablerna kommer att innehålla samma text.
"Hej världen!", Sa den snabbbruna räven.
radbrytningar
Verbatim strängbokstäver kan innehålla nya linjer:
string text = "Hello\r\nWorld!";
string verbatimText = @"Hello
World!";
Båda variablerna kommer att innehålla samma text.
Oigenkända flyktningssekvenser ger fel i kompileringstid
Följande exempel kommer inte att sammanställas:
string s = "\c";
char c = '\c';
 Istället kommer de att producera felet Unrecognized escape sequence vid kompileringstid. 
Använda flukt-sekvenser i identifierare
 Escape-sekvenser är inte begränsade till string och char literaler. 
Anta att du måste åsidosätta en metod från tredje part:
protected abstract IEnumerable<Texte> ObtenirŒuvres();
 och antar att tecknet Œ inte är tillgängligt i den teckenkodning du använder för dina C # -källfiler. Du har tur, det är tillåtet att använda rymningar av typen \u#### eller \U######## i identifierare i koden. Så det är lagligt att skriva: 
protected override IEnumerable<Texte> Obtenir\u0152uvres()
{
    // ...
}
 och C # -kompileraren vet att Œ och \u0152 är samma karaktär. 
(Det kan dock vara en bra idé att byta till UTF-8 eller en liknande kodning som kan hantera alla tecken.)