【C#】文字列のアットマーク「@」の意味は?~エスケープ文字を埋め込む~

アットマーク「@」付きの文字列を、「逐語(ちくご)的リテラル文字列」といいます。
""で囲むいつものは、「標準リテラル文字列」です。

@マークを付けると、文字列をエスケープせずそのまま記述できます。

※エスケープ文字とは
文字本来の意味とは別の意味に解釈することを示す文字である。
例)C#におけるバックスラッシュ記号「\」、ダブルクォーテーション記号「"」など。


例)

// \がエスケープ文字なので、このまま書くとエラーになる
string path = "C:\Users\data\aaa"; 

// 標準リテラル文字列
// エスケープシーケンスを用いて、「\」を文字列として認識する
string path = "C:\\Users\\data\\aaa"; 

// 逐語的リテラル文字列
// エスケープシーケンスを用いず、エスケープしてくれてる
string path = @"C:\Users\data\aaa";


@マークを使わず、上記のような文字を表記するには、バックスラッシュ記号「\」で始まる「エスケープシーケンス」を用いる方法もある。

例)「\\」、「\'」、「\n」(改行)

コンパイル時にエスケープシーケンス「\\」がバックスラッシュ記号「\」に変換される。ほかにもいろいろあるので詳しく知りたいかたはググりましょう。

ただ、@マークを使うのが一般的です。

今日はここまで。