我已经看到了另一种方式.但这一个我无法抓住.我试图获取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但在控制台中它显示它,因为我期望它.我想知道感谢的原因..
因为\\是转义序列\
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
| 归档时间: |
|
| 查看次数: |
106 次 |
| 最近记录: |