将\\替换为\ failed

时间:2012-08-16 14:52:18

标签: c# string

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

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

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

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

请注意:

上面的值是我在观察窗口中看到的

2 个答案:

答案 0 :(得分:6)

你在DownloadDirectoryPath的价值面前没有得到@,所以它实际上并没有得到任何\,而只有<\ p>

执行console.WriteLine(DownloadDirectoryPath)以检查其中的实际内容。

编辑(OP更新的问题):

如果在调试时将鼠标悬停在包含它的变量上(或使用监视窗口),则VS将显示单个\ as \\以从转义字符中消除歧义。将它写入控制台,文件或其他输出以检查它到底是什么。

答案 1 :(得分:0)

@告诉编译器读取字符串Verbatim。编写用于要解释的字符串的SQL的人。要使用您删除的内容@

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

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