Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Text eines unformatierten Zeichenfolgenliterals:
Ein unformatiertes Zeichenfolgenliteral beginnt und endet jeweils mit mindestens drei doppelten Anführungszeichen ("):
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
Unformatierte Zeichenfolgenliterale können mehrere Zeilen umfassen:
var xml = """
<element attr="content">
<body>
</body>
</element>
""";
Die folgenden Regeln steuern die Interpretation eines mehrzeiligen unformatierten Zeichenfolgenliterals:
- Die ersten Anführungszeichen müssen die letzten Nicht-Leerzeichen in ihrer Zeile sein, und die schließenden Anführungszeichen müssen die ersten Nicht-Leerzeichen in ihrer Zeile sein.
- Leerzeichen, die sich links von den schließenden Anführungszeichen befinden, werden aus allen Zeilen des unformatierten Zeichenfolgenliterals entfernt.
- Alle Leerzeichen, die auf die öffnenden Anführungszeichen in derselben Zeile folgen, werden ignoriert.
- Nur aus Leerzeichen bestehende Zeilen nach dem öffnenden Anführungszeichen werden in das Zeichenfolgenliteral eingeschlossen.
- Wenn ein Leerraum vor dem Endtrennzeichen in derselben Zeile steht, müssen die genaue Anzahl und Art der Leerzeichen (z. B. Leerzeichen vs. Tabs) am Anfang jeder Inhaltszeile vorhanden sein. Insbesondere stimmt ein Leerzeichen nicht mit einer horizontalen Registerkarte überein und umgekehrt.
- Der Zeilenumbruch vor den schließenden Anführungszeichen ist nicht in der Zeichenfolge enthalten.
Tipp
Visual Studio und das C# Dev Kit bieten einige Überprüfungs- und Syntaxmarkierungen, wenn unformatierte Zeichenfolgenliterale JSON-Daten oder reguläre Ausdrücke enthalten.
Die Tools analysieren den Text. Wenn die Tools vertrauen, dass der Text JSON oder einen regulären Ausdruck darstellt, stellt der Editor Syntaxfarben bereit.
Sie können diese Erfahrung verbessern, indem Sie einen Kommentar oberhalb der Deklaration hinzufügen, der das Format angibt:
-
// lang=jsongibt an, dass das unformatierte Zeichenfolgenliteral JSON-Daten darstellt. -
// lang=regexgibt an, dass das unformatierte Zeichenfolgenliteral einen regulären Ausdruck darstellt.
Wenn ein unformatiertes Zeichenfolgenliteral als Argument verwendet wird, bei dem der Parameter das System.Diagnostics.CodeAnalysis.StringSyntaxAttribute Format angibt, überprüfen diese Tools das unformatierte Zeichenfolgenliteral für einige der Formattypen. Sowohl JSON als auch regex werden unterstützt.
Bei einigen Formaten ermöglicht der Kommentar oder das Attribut Codevorschläge Korrekturen für Zeichenfolgenliterale basierend auf dem Format.
Möglicherweise müssen Sie ein unformatiertes Zeichenfolgenliteral erstellen, das drei oder mehr aufeinander folgende doppelte Anführungszeichen enthält. Unformatierte Zeichenfolgenliterale können mit einer Sequenz von mindestens drei doppelten Anführungszeichen beginnen und enden. Wenn Ihr Zeichenfolgenliteral drei aufeinanderfolgende doppelte Anführungszeichen enthält, beginnen und beenden Sie das unformatierte Zeichenfolgenliteral mit vier doppelten Anführungszeichen:
var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";
Wenn Sie ein unformatiertes Zeichenfolgenliteral mit Anführungszeichen beginnen oder beenden müssen, verwenden Sie das mehrzeilige Format:
var MultiLineQuotes = """"
"""Raw string literals""" can start and end with more than three double-quotes when needed.
"""";
Rohzeichenfolgenliterale können auch mit interpolierten Zeichenfolgen kombiniert werden, um die Zeichen { und } in die Ausgabezeichenfolge einzubetten. Sie können mehrere $-Zeichen in einem interpolierten unformatierten Zeichenfolgenliteral verwenden, um die Zeichen { und } in die Ausgabezeichenfolge einzubetten, ohne sie mit Escapezeichen zu versehen.
Der Inhalt des unformatierten Zeichenfolgenliterals darf keinen Satz zusammenhängender "-Zeichen enthalten, deren Länge gleich oder größer als die Länge des Trennzeichens des unformatierten Zeichenfolgenliterals ist. Beispielsweise sind die Zeichenfolgen """" """ """" und """"""" """""" """"" """" """ """"""" wohlgeformt. Die Zeichenfolgen """ """ """ und """ """" """ sind dagegen schlecht geformt.