C#でファイルパスを書き込むとき、「C:\」や「C:/」などのように記述して、同じパスを取得できることがわかりました。どちらがお勧めですか?単一の/を使用することが、\(エスケープシーケンスとして\を使用する)よりも推奨されると聞いたことがあります。
Windowsは両方のパス区切り文字をサポートしているため、少なくともローカルパスに対しては両方が機能します(/はネットワークパスに対しては機能しません)。特に、逐語的文字列リテラルを使用できるため、Windowsで機能しているが標準ではないパス区切り文字(/)を使用しても実際にはメリットはありません。
string path = @"C:\" //Look ma, no escape
/セパレーターを使用する利点を確認できる唯一のケースは、相対パスのみを操作し、WindowsおよびLinuxでコードを使用する場合です。次に、「../ foo/bar/baz」が同じディレクトリを指すようにすることができます。ただし、この場合でも、System.IO名前空間( Path.DirectorySeparatorChar 、 Path.Combine )のままにして、このような問題に対処することをお勧めします。
Path.DirectorySeparatorChar ORより適切に使用してください。Poitaは Path.Combine の使用を推奨しています。
使用する Path.Combine
そして、そのようなセマンティクスについて心配する必要はありません。
パスをC#で次のように記述します。
@「C:\ My\Path」
@文字は\エスケープをオフにします。
これはC#の問題ではなく、Windowsの問題です。 Windowsのパスは通常、円記号(C :)で示されます。私の意見では、C#ではそれを使用する必要があります。 @ "C:\"を使用して、バックスラッシュ文字の特別な処理を防ぎます。