C# Language
Stringhe Verbatim
Ricerca…
Sintassi
@ "le stringhe verbatim sono stringhe il cui contenuto non è sfuggito, quindi in questo caso \ n non rappresenta il carattere di nuova riga ma due caratteri individuali: \ e n Le stringhe di Verbatim vengono create precedendo il contenuto della stringa con il carattere @"
@ "Per sfuggire alle virgolette", vengono utilizzate le "virgolette doppie" ".
Osservazioni
Per concatenare i valori letterali stringa, utilizzare il simbolo @ all'inizio di ogni stringa.
var combinedString = @"\t means a tab" + @" and \n means a newline";
Stringhe multilinea
var multiLine = @"This is a
multiline paragraph";
Produzione:
Questo è un
paragrafo multilinea
Anche le stringhe multilinea che contengono virgolette possono essere sfuggite come se fossero su una singola riga, perché sono stringhe letterali.
var multilineWithDoubleQuotes = @"I went to a city named
""San Diego""
during summer vacation.";
Si noti che gli spazi / tabulazioni all'inizio delle righe 2 e 3 qui sono effettivamente presenti nel valore della variabile; controlla questa domanda per possibili soluzioni.
Escaping Double Quotes
Le doppie virgolette all'interno di stringhe letterali possono essere sfuggite utilizzando 2 virgolette doppie ""
per rappresentare una virgoletta doppia "
nella stringa risultante.
var str = @"""I don't think so,"" he said.";
Console.WriteLine(str);
Produzione:
"Non penso", ha detto.
Stringhe Verbatim interpolate
Le stringhe Verbatim possono essere combinate con le nuove funzionalità di interpolazione String trovate in C # 6.
Console.WriteLine($@"Testing \n 1 2 {5 - 2}
New line");
Produzione:
Test \ n 1 2 3
Nuova linea
Come previsto da una stringa testuale, i backslash vengono ignorati come caratteri di escape. E come previsto da una stringa interpolata, qualsiasi espressione all'interno di parentesi graffe viene valutata prima di essere inserita nella stringa in quella posizione.
Le stringhe Verbatim istruiscono il compilatore a non utilizzare i caratteri di escape
In una stringa normale, il carattere backslash è il carattere di escape, che indica al compilatore di guardare il / i carattere / i successivo / i per determinare il carattere effettivo nella stringa. ( Elenco completo di caratteri escape )
Nelle stringhe letterali, non ci sono caratteri di escape (eccetto per ""
che è trasformato in un "
). Per usare una stringa testuale, basta anteporre un @
prima delle virgolette iniziali.
Questa stringa letterale
var filename = @"c:\temp\newfile.txt"
Produzione:
c: \ temp \ newfile.txt
Al contrario di usare una stringa ordinaria (non verbale):
var filename = "c:\temp\newfile.txt"
che produrrà:
c: emp
ewfile.txt
usando caratteri che escaping. (Il \t
viene sostituito con un carattere di tabulazione e \n
viene sostituito con un carattere di fine riga.)