共用方式為


原始字串常值文字:字串常值中的 """

原始字串常值會以至少三個 (") 雙引號字元開頭和結尾:

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 中引進原始字串常值。

另請參閱