次の方法で共有


生文字列リテラルのテキスト - 文字列リテラルの """

生文字列リテラルは、少なくとも 3 つの二重引用符 (") 文字で始まり、終わります。

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

生文字列リテラルは、複数の行にまたがることができます。

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

次の規則は、複数行の生文字列リテラルの解釈を制御します。

  • 開始引用符は、それぞれの行のコメント以外の最後のトークンである必要があり、終わり引用符は、それぞれの行のコメント以外の最初のトークンである必要があります。
  • 終了引用符の左側にある空白はすべて、生文字列リテラルのすべての行から削除されます。
  • 同じ行の開始引用符に続く空白は無視されます。
  • 文字列リテラルには、開始引用符に続く空白行のみが含まれます。
  • 同じ行の終了区切り記号の前に空白がある場合、空白文字の正確な数と種類 (たとえば、スペースとタブなど) が各コンテンツ行の先頭に存在する必要があります。 具体的には、スペースは水平タブと一致せず、その逆も同様です。

3 つ以上の連続する二重引用符文字を含む生文字列リテラルを作成する必要がある場合があります。 生文字列リテラルは、少なくとも一連の 3 つの二重引用符文字で開始および終了できます。 文字列リテラルに 3 つの連続する二重引用符が含まれる場合、4 つの二重引用符文字で生文字列リテラルを開始および終了します。

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 で導入されました。

関連項目