C#のstring 文字列で@ (アットマーク) を付ける意味はエスケープしなくてよいから

C言語出身のプログラマが、C#で書かれている文字列を見ると

とか書かれていて、この @ (アットマーク) って何だろう?って思ってしまいますね。

C#の@ (アットマーク) って何なんでしょうか?

スポンサーリンク
スポンサーリンク

C#の@ (アットマーク) の意味

C言語やC++、あるいはJavaで、string 文字列にファイルのパスを入れるには、次のようにしますね。

階層ディレクトリの区切りを、\\のように円マークを二個書きます。

ここで、最初の\は、エスケープシーケンスで、二個目の\がエスケープシーケンスではなくて、文字列としての\であることを正しく認識するために置かれます。

つまり、階層ディレクトリの場合、すべての階層で\をエスケープシーケンスでエスケープする必要がある訳です。

これってかなり面倒ですね。

一方、C#では、@ (アットマーク) を利用するとエスケープシーケンスを利用せずにパスの指定が可能になります。

具体的には以下のように記述します。

こうすると、可読性が上がるばかりか、深い階層になったときにミスを犯す可能性が減りますね。

この @ を

@-quoated string

と呼びます。

どうです?

便利でしょ。

プログラミングの無料レッスン体験

約8,000名の受講生と80社以上の導入実績のあるプログラミングやWebデザインのオンラインマンツーマンレッスンCodecamp

<Codecampの特徴>

1 現役エンジニアによる指導

2オンラインでのマンツーマン形式の講義

3大手企業にも導入されている実践的なカリキュラム

↓無料体験レッスン実施中です。

プログラミングのオンラインスクールCodeCamp