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

(这是我从 sql 服务器获得的路径)但我的应用程序使用单斜杠,所以我尝试使用

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

但这不起作用,我得到相同的字符串。有什么建议吗?

请注意:

上面的值是我在监视窗口中看到的

4

2 回答 2

6

您的 DownloadDirectoryPath 值前面没有@,因此实际上没有任何 \\'s,只有 \'s

做一个 console.WriteLine(DownloadDirectoryPath) 来检查它到底有什么。

编辑(OP更新问题):

如果在调试时将鼠标悬停在包含它的变量上(或使用监视窗口),那么 VS 将显示单个 \ 作为 \\ 以消除它与转义字符的歧义。将其写入控制台、文件或其他输出以检查它的真实情况。

于 2012-08-16T14:53:19.417 回答
0

@告诉编译器逐字读取字符串。编写用于解释字符串的 SQL 的人。为了使用您所拥有的内容,请移除@

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

另请注意,当您在调试器监视窗口中看到逐字字符串时,您将看到编译器添加的转义字符,而不是源代码中的逐字版本。

于 2012-08-16T15:07:07.890 回答