在c#中使用path.combine语句的问题

Par*_*tha 9 c#

    string targetPath = @"C:\Program Files\saadhvi\SetupSafetyPADUniversal\";
    string createDatabasesScriptFilePath = Path.Combine(targetPath, "\\EADBScripts\\CreateDatabases.sql");
Run Code Online (Sandbox Code Playgroud)

我得到的createDatabasesScriptFilePath的值是\ EADBScripts\CreateDatabases.sql

但我预计它将是C:\ Program Files\saadhvi\SetupSafetyPADUniversal\EADBScripts\CreateDatabases.sql

我的代码出了什么问题?

mal*_*lay 16

这就是您的代码返回第二条路径的原因(从MSDN帮助中复制) -

如果path2不包含根(例如,如果path2不以分隔符或驱动器规范开头),则结果是两个路径的串联,以及插入的分隔符.如果path2包含根,则返回path2.


Sta*_*eXV 11

从字符串"\ EADBScripts\CreateDatabases.sql"中删除第一个\

我不完全确定原因,但我想Path.Combine想要第二个参数是相对路径,相对路径不以\开头.