のバリアントがSystem.IO.Path.Combine(myPath, "..")最も簡単で信頼性が高いことがわかりました。ノースベンの言うことが真実である場合、末尾にスラッシュがある場合、GetParentは追加の呼び出しを必要とします。それは、私には信頼できません。
Path.Combineを使用すると、スラッシュを間違えないようにできます。
..Windowsの他の場所とまったく同じように動作します。\..cmdまたはexplorerのパスに任意の数を追加でき、以下で説明するとおりに動作します。
いくつかの基本的な..動作:
- ファイル名がある場合は、
..それを切り落とします。
Path.Combine(@"D:\Grandparent\Parent\Child.txt", "..") => D:\Grandparent\Parent\
- パスがディレクトリの場合、次の
..レベルに移動します。
Path.Combine(@"D:\Grandparent\Parent\", "..") => D:\Grandparent\
..\.. 同じルールに従い、2回続けて:
Path.Combine(@"D:\Grandparent\Parent\Child.txt", @"..\..")=> D:\Grandparent\
Path.Combine(@"D:\Grandparent\Parent\", @"..\..")=>D:\
- そして、これにはまったく同じ効果があります。
Path.Combine(@"D:\Grandparent\Parent\Child.txt", "..", "..")=> D:\Grandparent\
Path.Combine(@"D:\Grandparent\Parent\", "..", "..")=>D:\