Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Testo letterale stringa non elaborato-
Un valore letterale stringa non elaborato inizia e termina con un minimo di tre caratteri virgolette doppie ("):
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
I valori letterali stringa non elaborati possono estendersi su più righe:
var xml = """
<element attr="content">
<body>
</body>
</element>
""";
Le regole seguenti regolano l'interpretazione di un valore letterale stringa non elaborata su più righe:
- Le virgolette di apertura devono essere gli ultimi caratteri non vuoti nella riga e le virgolette di chiusura devono essere i primi caratteri non spazi vuoti sulla riga.
- Qualsiasi spazio vuoto a sinistra delle virgolette di chiusura viene rimosso da tutte le righe del valore letterale stringa non elaborato.
- Qualsiasi spazio vuoto dopo le virgolette di apertura sulla stessa riga viene ignorato.
- Nel valore letterale stringa sono incluse solo righe che seguono le virgolette di apertura.
- Se uno spazio vuoto precede il delimitatore finale nella stessa riga, il numero esatto e il tipo di spazi vuoti (ad esempio, spazi e tabulazioni) devono esistere all'inizio di ogni riga di contenuto. In particolare, uno spazio non corrisponde a una scheda orizzontale e viceversa.
- La nuova riga prima delle virgolette di chiusura non è inclusa nella stringa letterale.
Suggerimento
Visual Studio e C# Dev Kit forniscono alcune funzionalità di convalida e di evidenziazione della sintassi quando i valori letterali stringa non elaborati contengono dati JSON o espressioni regolari.
Gli strumenti analizzano il testo. Se gli strumenti hanno la certezza che il testo rappresenta JSON o un'espressione regolare, l'editor fornisce la colorazione della sintassi.
È possibile migliorare l'esperienza aggiungendo un commento sopra la dichiarazione che indica il formato:
-
// lang=jsonindica che il valore letterale stringa non elaborato rappresenta i dati JSON. -
// lang=regexindica che il valore letterale stringa non elaborato rappresenta un'espressione regolare.
Quando un valore letterale stringa non elaborato viene usato come argomento in cui il parametro usa per System.Diagnostics.CodeAnalysis.StringSyntaxAttribute indicare un formato, questi strumenti convalidano il valore letterale stringa non elaborato per alcuni dei tipi di formato. Sono supportati sia JSON che regex.
Per alcuni formati, il commento o l'attributo abilita i suggerimenti di codice offrono correzioni per i valori letterali stringa in base al formato.
Potrebbe essere necessario creare un valore letterale stringa non elaborato con tre o più caratteri virgolette doppie consecutive. I valori letterali stringa non elaborati possono iniziare e terminare con una sequenza di almeno tre caratteri tra virgolette doppie. Quando il valore letterale stringa contiene tre virgolette doppie consecutive, si inizia e termina il valore letterale stringa non elaborato con quattro caratteri virgolette doppie:
var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";
Se è necessario iniziare o terminare un valore letterale stringa non elaborato con caratteri virgolette, usare il formato a più righe:
var MultiLineQuotes = """"
"""Raw string literals""" can start and end with more than three double-quotes when needed.
"""";
I valori letterali stringa non elaborati possono essere combinati anche con stringhe interpolate per incorporare i caratteri { e } nella stringa di output. Si usano più caratteri $ in un valore letterale stringa non elaborata interpolata per incorporare i caratteri { e } nella stringa di output senza eseguirne l'escape.
Il contenuto del valore letterale stringa non elaborato non deve contenere un set di caratteri " contigui la cui lunghezza è uguale o maggiore della lunghezza del delimitatore letterale stringa non elaborata. Ad esempio, le stringhe """" """ """" e """"""" """""" """"" """" """ """"""" sono ben formate. Tuttavia, le stringhe """ """ """ e """ """" """ sono in formato non corretto