C:
ist das Startlaufwerk meines PCs.Aufruf von GetParent() auf dem Stammlaufwerk
DirectoryInfo dirInfo;
dirInfo = System.IO.Directory.GetParent(@"C:"); // Case 1
dirInfo = System.IO.Directory.GetParent(@"C:\"); // Case 2
Fall 1:
dirInfo
nicht null ist und dirInfo.FullPath
wird auf "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7" auf meinem Rechner
Fall 2:
dirInfo
ist null
Von Directory.GetParent Method:
null, wenn der Verzeichnispfad Wurzel
"C:" nicht als Wurzel behandelt. Warum nicht?
Weil es überhaupt kein Ordner ist? Obwohl ich eine Ausnahme von dieser –
erwarten würde Seit den Tagen von MS-DOS bedeutet 'CD C:' das Verzeichnis zu ändern, was das aktuelle Verzeichnis auf Laufwerk C: ist. –
Für DOS vielleicht. Bei Befehlen, die Pfade oder Volumes erwarten, gilt dies. 'GetParent' erwartet jedoch einen Pfad und gibt einen absoluten Pfad zurück. 'C:' ist kein gültiger path-rooted Pfad, also wird er als relativer Pfad behandelt, genauso wie 'Directory.GetParent (" c ")' oder 'Directory.GetParent (" a ")'. In allen diesen Fällen ist das übergeordnete Verzeichnis das aktuelle Verzeichnis –