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

Live Demo su .NET Fiddle

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.";

Live Demo su .NET Fiddle

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.

Live Demo su .NET Fiddle

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

Live Demo su .NET Fiddle

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

Live Demo su .NET Fiddle



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow