プログラムの事とか

お約束ですが「掲載内容は私個人の見解です」

ディレクトリの一つ上のディレクトリをとる

ネタにもなれないような小ネタですが

そのものずばりなメソッドが無いかナーとググってみたんですが、バックスラッシュ探して文字列操作ってのが上位に出てきてそういものなのかな?と思って自作

public static string GetParentDirectory(string path)   // pathはファイルでもディレクトリでも可
{
    if (path.EndsWith(Path.DirectorySeparatorChar.ToString())) path = path.Substring(0, path.Length - 1);
    return Path.GetDirectoryName(path);
}

バックスラッシュの決め打ちが気持ち悪いのでPath.DirectorySeparatorChar

一つ上のディレクトリはPath.GetDirectoryNameメソッドで

一行目はpathの最後がセパレーター(バックスラッシュ)の場合にPath.GetDirectoryNameが私の望むものを返してくれないのでそのために入れてます(AppDomain.CurrentDomain.BaseDirectoryなどは最後にセパレーターがついて返ってくるんですよね)

異常値チェックしてないのでその辺は雰囲気で

どーでしょう?