アットマーク「@」付きの文字列を、「逐語(ちくご)的リテラル文字列」といいます。
""で囲むいつものは、「標準リテラル文字列」です。
@マークを付けると、文字列をエスケープせずそのまま記述できます。
※エスケープ文字とは
文字本来の意味とは別の意味に解釈することを示す文字である。
例)C#におけるバックスラッシュ記号「\」、ダブルクォーテーション記号「"」など。
例)
// \がエスケープ文字なので、このまま書くとエラーになる
string path = "C:\Users\data\aaa";
// 標準リテラル文字列
// エスケープシーケンスを用いて、「\」を文字列として認識する
string path = "C:\\Users\\data\\aaa";
// 逐語的リテラル文字列
// エスケープシーケンスを用いず、エスケープしてくれてる
string path = @"C:\Users\data\aaa";
@マークを使わず、上記のような文字を表記するには、バックスラッシュ記号「\」で始まる「エスケープシーケンス」を用いる方法もある。
例)「\\」、「\'」、「\n」(改行)
コンパイル時にエスケープシーケンス「\\」がバックスラッシュ記号「\」に変換される。ほかにもいろいろあるので詳しく知りたいかたはググりましょう。
ただ、@マークを使うのが一般的です。
今日はここまで。
リンク