コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【C#】指定したパスのすべての親フォルダのパスを取得する方法

ソースコード

private static IEnumerable<string> GetParentDirectories( string path )
{
    while ( true )
    {
        var directoryName = Path.GetDirectoryName( path );
        if ( string.IsNullOrWhiteSpace( directoryName ) ) yield break;
        yield return directoryName;
        path = directoryName;
    }
}

使用例

foreach ( var parentDirectory in GetParentDirectories(path) )
{
    Debug.Log( parentDirectory );
}