1
string DownloadDirectoryPath = @"C:\\Program Files\\companyname\\productname\\username\\0\\2012081617085746"

(これはSQLサーバーから取得するパスです)しかし、私のアプリケーションは単一のスラッシュを使用しているので、使用しようとしています

DownloadDirectoryPath= DownloadDirectoryPath.Replace(@"\\", @"\");

しかし、これは機能せず、同じ文字列を取得します。何かアドバイス?

注意してください:

上記の値は、ウォッチウィンドウに表示される値です。

4

2 に答える 2

6

DownloadDirectoryPathの値の前に@がないため、実際には\\は含まれず、\のみが含まれます。

console.WriteLine(DownloadDirectoryPath)を実行して、実際に何が含まれているかを確認します。

編集(OP更新された質問):

デバッグ中に変数を含む変数にカーソルを合わせると(またはウォッチウィンドウを使用すると)、VSはエスケープ文字から明確にするために単一の\を\\として表示します。それをコンソール、ファイル、またはその他の出力に書き込んで、実際に何であるかを確認します。

于 2012-08-16T14:53:19.417 に答える
0

@、文字列Verbatimを読み取るようにコンパイラーに指示します。文字列を解釈するためのSQLを作成した人。あなたが持っているもので作業するために、@

string DownloadDirectoryPath = "C:\\Program Files\\companyname\\productname\\username\\0\\2012081617085746"

また、デバッガウォッチウィンドウに逐語的な文字列が表示されると、ソースコードの逐語的なバージョンではなく、コンパイラによって追加されたエスケープ文字が表示されることに注意してください。

于 2012-08-16T15:07:07.890 に答える