のバリアントが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:\