サーチ…


構文

  • @ "という文字列は、その内容がエスケープされない文字列です。この場合、\ nは改行文字ではなく、\とnの2つの文字です。文字列の内容の先頭に@

  • @ "二重引用符をエスケープするには、" "二重引用符を使用します。"

備考

文字列リテラルを連結するには、各文字列の先頭に@記号を使用します。

var combinedString = @"\t means a tab" + @" and \n means a newline";

複数行の文字列

var multiLine = @"This is a 

multiline paragraph";

出力:

これは

複数行の段落

.NET Fiddleのライブデモ

二重引用符を含む複数行の文字列は、そのままの文字列であるため、一行にあるものと同じようにエスケープすることができます。

var multilineWithDoubleQuotes = @"I went to a city named

                        ""San Diego""

                      during summer vacation.";

.NET Fiddleのライブデモ

ここでは、2行目と3行目の先頭の空白/集計は実際には変数の値に存在することに注意してください。可能な解決策についてこの質問をチェックしてください。

二重引用符をエスケープする

逐語的文字列内の二重引用符が2つのシーケンシャル二重引用符を使用してエスケープすることができます""一つの二重引用符を表すために"結果の文字列に。

var str = @"""I don't think so,"" he said.";
Console.WriteLine(str);

出力:

"私はそうは思わない"と彼は言った。

.NET Fiddleのライブデモ

補間された完全なストリング

逐語文字列は、C#6の新しい文字列補間機能と組み合わせることができます。

Console.WriteLine($@"Testing \n 1 2 {5 - 2}
New line");

出力:

テスト\ n 1 2 3
改行

.NET Fiddleのライブデモ

逐語的な文字列から予想されるように、バックスラッシュはエスケープ文字として無視されます。補間された文字列から予想されるように、中括弧内の式は、その位置の文字列に挿入される前に評価されます。

逐語文字列は、文字エスケープを使用しないようにコンパイラに指示します

通常の文字列では、バックスラッシュ文字はエスケープ文字です。これは、文字列内の実際の文字を決定するために次の文字を見るようにコンパイラに指示します。 ( 文字エスケープの完全なリスト

逐語的文字列では、(以外には文字のエスケープはありません""になっている" )。逐語的文字列を使用するには、単に先頭に追加、 @開始引用符の前に。

この逐語的な文字列

var filename = @"c:\temp\newfile.txt"

出力:

c:\ temp \ newfile.txt

通常の(非そのままの)文字列を使用するのとは対照的に、

var filename = "c:\temp\newfile.txt"

それは出力されます:

c:    emp
ewfile.txt

文字エスケープを使用します。 ( \tはタブ文字に置き換えられ、 \nは改行で置き換えられます)。

.NET Fiddleのライブデモ



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow