0

パスの 2 番目のフォルダーを見つけるスクリプトを作成していますが、どうすればよいですか?

dirA
dirB/C ---- I need dirB
indirB - dirD/E
indirE - ファイル

ファイルへのパスである第 2 レベルのフォルダーの名前を見つける必要があります (星印を付けました)。

これを見つけるにはどうすればよいでしょうか

4

1 に答える 1

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[]。2 番目のレベル (3 番目の要素) が必要でした。これは "Level2" を返します。最初の要素は であることに注意してくださいC:

于 2012-04-27T14:16:59.123 に答える