streamwriter を実行するときの\
との違いは何ですか?/
例えば
例 1:
Streamwriter sw = new Streamwriter("/test folder/Output/test.txt");
と
例 2:
Streamwriter sw = new Streamwriter(@"\test folder\Output\test.txt");
@
2番目の例でも前に記号が必要だと思います。
streamwriter を実行するときの\
との違いは何ですか?/
例えば
例 1:
Streamwriter sw = new Streamwriter("/test folder/Output/test.txt");
と
例 2:
Streamwriter sw = new Streamwriter(@"\test folder\Output\test.txt");
@
2番目の例でも前に記号が必要だと思います。
.NETはパスの一方と他方の両方を認識するため、違いはありません。
ただし、\
文字列リテラル (エスケープ シーケンスの始まり) 内に現れると特別な意味を持つため、2 番目の例では逐語的な文字列リテラル構文を使用します。代わりに代わりに使用\\
することもでき\
ました。
追加@
すると読みやすさが向上するだけです。 で始まる文字列は、コンパイル時に@
すべて\
の が置き換えられ、必要な場所に追加されます。\\
\
\
開始エスケープ文字があるためです。たとえば、"\""
印刷します"
。文字として使用する場合は、文字列の前\
に追加するか、を使用する必要があります。ご覧のとおり、パスとは何の関係もありません。両方の形式が有効です。@
\\
streamwriter
どちらも .NET で有効なパス区切り文字です。
IOW、それはまったく同じことです。
は通常、Windows でディレクトリを区切るために使用されますが、ほとんどの状況でも\
受け入れられると思います。/
\
もエスケープする必要があるため、シンボル@
です。\\
この文字をエスケープするために使用することもできます。