C# Language                
            Sequenze di escape delle stringhe
        
        
            
    Ricerca…
Sintassi
- \ '- virgoletta singola (0x0027)
- \ "- virgolette doppie (0x0022)
- \\ - backslash (0x005C)
- \ 0 - null (0x0000)
- \ a - alert (0x0007)
- \ b - backspace (0x0008)
- \ f - form feed (0x000C)
- \ n - nuova riga (0x000A)
- \ r - ritorno a capo (0x000D)
- \ t - scheda orizzontale (0x0009)
- \ v - scheda verticale (0x000B)
- \ u0000 - \ uFFFF - Carattere Unicode
- \ x0 - \ xFFFF - Carattere Unicode (codice con lunghezza variabile)
- \ U00000000 - \ U0010FFFF - Carattere Unicode (per la generazione di surrogati)
Osservazioni
Le sequenze di escape di stringhe vengono trasformate nel carattere corrispondente in fase di compilazione . Le stringhe ordinarie che contengono stringhe all'indietro non vengono trasformate.
 Ad esempio, le stringhe notEscaped e notEscaped2 seguito non vengono trasformate in un carattere di nuova riga, ma resteranno come due caratteri diversi ( '\' e '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
Sequenze di escape dei caratteri Unicode
string sqrt = "\u221A";      // √
string emoji = "\U0001F601"; // 😁
string text = "\u0022Hello World\u0022"; // "Hello World"
string variableWidth = "\x22Hello World\x22"; // "Hello World"
Scappare simboli speciali in caratteri letterali
Apostrophes
char apostrophe = '\'';
Barra rovesciata
char oneBackslash = '\\';
Scappare simboli speciali in stringhe letterali
Barra rovesciata
// The filename will be c:\myfile.txt in both cases
string filename = "c:\\myfile.txt";
string filename = @"c:\myfile.txt";
Il secondo esempio utilizza letteralmente una stringa letterale , che non considera la barra rovesciata come un carattere di escape.
Citazioni
string text = "\"Hello World!\", said the quick brown fox.";
string verbatimText = @"""Hello World!"", said the quick brown fox.";
Entrambe le variabili conterranno lo stesso testo.
"Ciao mondo!", Disse la rapida volpe marrone.
newlines
I valori letterali stringa letterali possono contenere righe nuove:
string text = "Hello\r\nWorld!";
string verbatimText = @"Hello
World!";
Entrambe le variabili conterranno lo stesso testo.
Le sequenze di escape non riconosciute producono errori in fase di compilazione
I seguenti esempi non verranno compilati:
string s = "\c";
char c = '\c';
 Invece, produrranno l'errore Unrecognized escape sequence al momento della compilazione. 
Utilizzo delle sequenze di escape negli identificatori
 Le sequenze di escape non sono limitate a string e char letterali. 
Supponi di dover eseguire l'override di un metodo di terze parti:
protected abstract IEnumerable<Texte> ObtenirŒuvres();
 e supponiamo che il carattere Œ non sia disponibile nella codifica dei caratteri che usi per i tuoi file sorgente C #. Sei fortunato, è consentito utilizzare gli escape del tipo \u#### o \U######## in identificatori nel codice. Quindi è legale scrivere: 
protected override IEnumerable<Texte> Obtenir\u0152uvres()
{
    // ...
}
 e il compilatore C # saprà Œ e \u0152 hanno lo stesso carattere. 
(Tuttavia, potrebbe essere una buona idea passare a UTF-8 o una codifica simile in grado di gestire tutti i caratteri.)