更多的路径等

时间:2012-04-27 14:07:43

标签: c# arrays file tree directory

我正在编写一个脚本来查找路径中的第二个文件夹,我该怎么做?

DIRA
dirB / C ----我需要dirB
indirB - dirD / E
indirE - 文件

我需要找到文件路径的第二级文件夹的名称(我用星号标记)。

我将如何找到这个

1 个答案:

答案 0 :(得分:2)

此扩展如何:

public static class StringExtensions
{
    public static String PathLevel(this String path, int level)
    {
        if (path == null) throw new ArgumentException("Path must not be null", "path");
        if (level < 0) throw new ArgumentException("Level must be >= 0", "level");

        var levels = path.Split(Path.DirectorySeparatorChar);
        return levels.Length > level ? levels[level] : null;
    }
}

测试:

var path = @"C:\Temp\Level2\Level3\Level4\File.txt";
var secondLevel = path.PathLevel(2); // => "Level2"

它将DirectorySeparatorChar的路径拆分为String[]。 你想要第二级(第三个元素),这将返回“Level2”。请注意,第一个元素是C: