无论尾部斜杠如何,都从完整目录路径获取目录名称

dim*_*nnv 6 .net c#

我需要从其路径获取目录名称,而不管是否有任何尾部反斜杠.例如,用户可以输入以下2个字符串之一,我需要日志目录的名称:

"C:\Program Files (x86)\My Program\Logs"
"C:\Program Files (x86)\My Program\Logs\"
Run Code Online (Sandbox Code Playgroud)

以下都没有给出正确的答案("Logs"):

Path.GetDirectoryName(m_logsDir);
FileInfo(m_logsDir).Directory.Name;
Run Code Online (Sandbox Code Playgroud)

他们显然分析了路径字符串,并在第一个例子中确定它Logs是一个文件,而它实际上是一个目录.

所以它应该检查最后一个单词(Logs在我们的例子中)是否真的是一个目录; 如果是,则返回它,如果没有(日志也可能是文件),则返回父目录.如果需要处理实际的文件系统而不是分析字符串本身.

有没有标准功能呢?

Mat*_*ili 5

new DirectoryInfo(m_logsDir).Name;
Run Code Online (Sandbox Code Playgroud)