2017-05-03 4 views
1

私はこれについて疑問を呈していますC#の作業ネットワークパスは?

xmlDocumentをマッピングではなくネットワークデバイスフォルダに保存しようとしました。

:それは例外を投げていた、と私はちょうど私が@でパラメータとして逐語的文字列を追加すると、それは次のようになります「@」

doc.Save(@config.plc.Path + "file.xml"); 

を使用してそれを固定

config.plc.Path ="\\IpAdress\\folder\\"; 

doc.Save(config.plc.Path + "file.xml"); 

この:

config.plc.Path ="\\\\IpAdress\\\\folder\\\\"; 

で、私はこのようなパスを参照してください初めてです
\\\\ 

誰かが私にこれを理解させる助けになることができますか?

+1

ネットワークパスは、逐語文字列を使用する必要があるか、バックスラッシュをエスケープする必要があるかを記述するには、\\記号で始まります。バックスラッシュをエスケープすると\\\\ –

+0

が得られます。@を追加しないと、C#はバックスラッシュのようになりますか? – Ferus7

+2

適切なUNCパスを使用する必要があります。これは '' \\\\ machname \\ share \\ dir \\ file.ext "'です。または '@" \\ machname \ share \ dir \ file.ext "'となります。 IPアドレスを避けて、彼らは変化します。 –

答えて

2

これは簡単ですが、\は単なる\のエスケープシーケンスです。これを避けるために@(Verbatim String)を使用する必要があります

+0

私はそれを理解していると思いますが、逐語を使用しないと、パスは\ \それはC: – Ferus7

+0

を参照しますはい正しい:-) –

関連する問題