逐語的文字列リテラル(ヒアドキュメント)

組込み型 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C


文字列リテラルを定義する際に先頭に「@」を付けると、見たままの文字列として扱えます。つまりエスケープシーケンス等の解釈がされません。

また複数行にまたがって文字列を定義できます。

using System;

class Program {
    static void Main() {
        string str = @"foo
bar
hoge";
        Console.WriteLine(str);
    }
}
$ main
foo
bar
hoge

ちなみに文字列中にダブルクォートを含めたい場合はダブルクォートを二つ続けて書くことで可能になります。

using System;

class Program {
    static void Main() {
        string str = @"foo""bar""hoge";
        Console.WriteLine(str);
    }
}
$ main
foo"bar"hoge