Testo letterale stringa non elaborato- """
in valori letterali stringa
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 l'ultimo token non di commento nella rispettiva riga e la virgoletta di chiusura deve essere il primo token non commento sulla rispettiva riga.
- Qualsiasi spazio vuoto a sinistra delle virgolette di chiusura viene rimosso da tutte le righe del valore letterale stringa non elaborato.
- Gli spazi vuoti che seguono le virgolette di apertura sulla stessa riga vengono ignorati.
- Nel valore letterale stringa sono incluse solo righe che seguono le virgolette di apertura.
- Se uno spazio vuoto precede il delimitatore finale sulla 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.
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
I valori letterali stringa non elaborati sono stati introdotti in C# 11.