在我的项目中,我将xml文件保存到文件夹中。变量"标题"包含文件的名称。
string header = "anyString";
保存文件的行是:
xmlDoc.Save($@"D:\00_Coding\00_Repos\MarcSchaetz\MarcSchaetz.STCut\Data\{header}.cutml");
除了标题包含斜杠(/)之外,所有这些都很好用,所有这些都是好的。
string header = "d/d";
然后我得到一个DirectoryNotFoundException
,因为Visual Studio找不到路径
"D:\00_Coding\00_Repos\MarcSchaetz\MarcSchaetz.STCut\Data\d\d.cutml"
因此,Visual Studio会使用反斜杠自动替换斜杠。但是为什么以及如何在变量中保存带斜杠的文件?
答案 0 :(得分:1)
Visual Studio不会将/
替换为\
。检查一下:
string header = "d/d";
string result = $@"D:\00_Coding\00_Repos\MarcSchaetz\MarcSchaetz.STCut\Data\{header}.cutml";
//Result: D:\\00_Coding\\00_Repos\\MarcSchaetz\\MarcSchaetz.STCut\\Data\\d/d.cutml
至于在路径中使用/
- 它不能用于操作系统中的文件/目录的名称。如果您尝试创建,则会得到以下结果:(我尝试插入/
)
因此,抛出DirectoryNotFoundException
的代码才有意义,因为实际上没有该路径的目录