为什么Path.Combine没有组合路径和文件?

时间:2013-08-02 03:26:14

标签: c# winforms

我有这段代码:

string log_file_name = @"\logger.txt";
            string logger_file_to_read = Path.GetDirectoryName(Application.LocalUserAppDataPath) + @"\log";
            string LoggerFile = Path.Combine(logger_file_to_read, log_file_name);

我使用了断点,我看到:logger_file_to_read包含:

C:\ Users \ bout0_000 \ AppData \ Local \ Diagnostic_Tool_Blue_Screen \ Diagnostic Tool Blue Screen \ log

该log_file_name包含:

\ logger.txt

但后来我发现LoggerFile只包含文件名:\ logger.txt 没有目录。

那是什么意思?

2 个答案:

答案 0 :(得分:7)

它就在documentation

  

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

答案 1 :(得分:0)

在文件名中删除反斜杠,如下所示:

string log_file_name = "logger.txt";