C# 替换“\\&引用;加上\&引用;在一条小路上

C# 替换“\\&引用;加上\&引用;在一条小路上,c#,asp.net-mvc,visual-studio,C#,Asp.net Mvc,Visual Studio,File.writealBytes函数在路径输入中@“\”运行良好 File.WriteAllBytes(@"C:\folder\file.png", bytes); 但是用“\\” 返回:不支持给定路径的格式 在我的应用程序中,我有类似的东西 File.WriteAllBytes(getFile(fid), bytes); 其中getFile(fid)返回 C:\\folder\\fileid.png 所以我尝试了getFile(fid)。替换(“\\”,@“\”)。。我正期待着呢

File.writealBytes函数在路径输入中@“\”运行良好

File.WriteAllBytes(@"C:\folder\file.png", bytes); 
但是用“\\”

返回:不支持给定路径的格式

在我的应用程序中,我有类似的东西

 File.WriteAllBytes(getFile(fid), bytes); 
其中getFile(fid)返回

C:\\folder\\fileid.png

所以我尝试了getFile(fid)。替换(“\\”,@“\”)。。我正期待着呢

C:\folder\fileid.png

但我还有这个

C:\\folder\\fileid.png

并且错误给定路径的格式在
getFile(fid)中不受支持

。替换(“\\”,@“\”
“\\”
计算为
\
(第一个
\
用作转义字符,以转义第二个字符,即实际的
\
)<代码>@“\”也计算为
\
。Net中,您的代码试图用不起任何作用的
\
替换
\


相反,请尝试
getFile(fid)。替换(@“\\”,@“\”)
。这应该可以满足您的需要。

您的替换方法应该是replace(“\\\\”,“\\”)。此编辑的替换方法您的前两行代码相同,如果第一行代码正常工作,第二行代码不可能失败。getFile(fid)返回的文件名中可能有不支持的字符吗?!如冒号等?或
getFile(fid).替换(“\\\\”,“\\”)
@Frederik Carlier它仍然返回C:\\folder\\fileid.png with.替换(@“\\”,@“\”)@RandRandom它仍然返回C:\\folder\\fileid.png with.替换(“\\\”,“\”)@ptiflo您是否正在查看调试器,验证该字符串?如果是这样,调试器将显示\as\\-正如您在这里看到的那样-但实际上它只是一个\@ptiflo-这里可以看到一个带有single或double的扩展屏幕截图\-
 File.WriteAllBytes(getFile(fid), bytes);