将"/"更改为"\"[C#]

diy*_*da_ 1 c#

我已经看到了另一种方式.但这一个我无法抓住.我试图获取web resourcePath的一部分并将其与本地路径相结合.让我再解释一下.

public string GetLocalPath(string URI, string webResourcePath, string folderWatchPath) // get the folderwatcher path to work in the local folder
    {
        string changedPath = webResourcePath.Replace(URI, "");
        string localPathTemp = folderWatchPath + changedPath;
        string localPath = localPathTemp.Replace(@"/",@"\");
        return localPath;
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我这样做时,结果就像

C:\\Users
Run Code Online (Sandbox Code Playgroud)

但我想要的是

C:\Users 
Run Code Online (Sandbox Code Playgroud)

不是"\\",但我的调试显示它,C:\\Users但在控制台中它显示它,因为我期望它.我想知道感谢的原因..

Nik*_*wal 7

因为\\是转义序列\

string str  = "C:\\Users";
Run Code Online (Sandbox Code Playgroud)

和...一样

string str  = @"C:\Users";
Run Code Online (Sandbox Code Playgroud)

后来一个被称为Verbatim字符串文字.

对于在代码中组合路径,最好使用Path.Combine而不是手动添加"/"

你的代码应该是这样的

public string GetLocalPath(string URI, string webResourcePath, 
                           string folderWatchPath)
{
    return Path.Combine(folderWatchPath, webResourcePath.Replace(URI, ""));
}
Run Code Online (Sandbox Code Playgroud)

无需替换/,\因为Windows中的路径名支持两者.所以C:\Users和.一样C:/Users