原始字串常值文字:字串常值中的 """
原始字串常值會以至少三個 ("
) 雙引號字元開頭和結尾:
var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";
原始字串常值可以跨越多行:
var xml = """
<element attr="content">
<body>
</body>
</element>
""";
下列規則會控管多行原始字串常值的解譯:
- 開頭引號必須是其個別行的最後一個非批註權杖,而結尾引號必須是其個別行的第一個非批註權杖。
- 結尾引號左邊的任何空白字元都會從所有原始字串常值的行中移除。
- 忽略相同行上開頭引號後面的空白字元。
- 字串常值中只包含開頭引號後面的空白字元。
- 如果空格符在相同行的結尾分隔符前面,則空格符的確切數目和種類 (例如空格與定位點) 必須存在於每個內容行的開頭。 具體而言,空格與水平定位點不符,反之亦然。
- 結尾引號之前的換行符不會包含在文字串中。
您可能需要建立具有三或多個連續雙引號字元的原始字串常值。 可以用至少三個雙引號字元的序列開頭和結尾原始字串常值。 當字串常值包含三個連續雙引號時,您會以四個雙引號字元開始和結束原始字串常值:
var moreQuotes = """" As you can see,"""Raw string literals""" can start and end with more than three double-quotes when needed."""";
如果您需要以引號字元開始或結束原始字串常值,請使用多行格式:
var MultiLineQuotes = """"
"""Raw string literals""" can start and end with more than three double-quotes when needed.
"""";
原始字串常值也可以與插補字串結合,以在輸出字串中內嵌 {
和 }
字元。 您可以在差補原始字串常值中使用多個 $
字元,在輸出字串中內嵌 {
和 }
字元,而無需逸出這些字元。
原始字串常值的內容不能包含一組連續的 "
字元,其長度等於或大於原始字串常值分隔符號長度。 例如,"""" """ """"
和 """"""" """""" """"" """" """ """""""
的字串格式良好。 不過,""" """ """
和 """ """" """
字串的格式不正確
在 C# 11 中引進原始字串常值。