共用方式為


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

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

var singleLine = """This is a "raw string literal". It can contain characters like \, ' and ".""";

原始字串常值可以跨越多行:

var xml = """
        <element attr="content">
            <body>
            </body>
        </element>
        """;

下列規則會控管多行原始字串常值的解譯:

  • 開頭引號必須是其行上的最後一個非空格字元,而右引號必須是其行上的第一個非空格字元。
  • 結尾引號左邊的任何空白字元都會從所有原始字串常值的行中移除。
  • 同一行中開頭引號後面的任何空格都會被忽略。
  • 字串常值中只包含開頭引號後面的空白字元。
  • 如果空白字元在相同行的結尾分隔符前面,則每個內容行的開頭必須有空白字元的確切數量和種類(例如,空格與製表符)。 具體來說,空格與水平定位符不匹配,反之亦然。
  • 結尾引號之前的換行符不會包含在文字串中。

小提示

Visual Studio 和 C# 開發套件會在原始字串常值包含 JSON 資料或規則運算式時,提供一些驗證和語法醒目提示。

這些工具會解析文字。 如果工具確信文字代表 JSON 或規則運算式,編輯器會提供語法著色。

您可以在聲明上方新增註解,以指示格式,以改善該體驗:

  • // lang=json 表示原始字串常值代表 JSON 資料。
  • // lang=regex 表示原始字串常值代表正則表示式。

當原始字串常值用作引數時,其中參數使用 來 System.Diagnostics.CodeAnalysis.StringSyntaxAttribute 指示格式,這些工具會驗證某些格式類型的原始字串常值。 支援 JSON 和正則運算式。

對於某些格式,註解或屬性會啟用程式碼建議,根據格式提供字串常值的修正。

您可能需要建立具有三個以上連續雙引號字元的原始字串常值。 可以用至少三個雙引號字元的序列開頭和結尾原始字串常值。 當字串常值包含三個連續雙引號時,您會以四個雙引號字元開始和結束原始字串常值:

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.
               """";

原始字串常值也可以與插補字串結合,以在輸出字串中內嵌 {} 字元。 您可以在差補原始字串常值中使用多個 $ 字元,在輸出字串中內嵌 {} 字元,而無需逸出這些字元。

原始字串常值的內容不能包含一組連續的 " 字元,其長度等於或大於原始字串常值分隔符號長度。 例如,"""" """ """"""""""" """""" """"" """" """ """"""" 的字串格式良好。 不過,""" """ """""" """" """ 字串的格式不正確

另請參閱