DirectoryInfo.Parent Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the parent directory of a specified subdirectory.
public:
property System::IO::DirectoryInfo ^ Parent { System::IO::DirectoryInfo ^ get(); };
public System.IO.DirectoryInfo Parent { get; }
public System.IO.DirectoryInfo? Parent { get; }
member this.Parent : System.IO.DirectoryInfo
Public ReadOnly Property Parent As DirectoryInfo
Property Value
The parent directory, or null
if the path is null or if the file path denotes a root (such as \
, C:\
, or \\server\share
).
Exceptions
The caller does not have the required permission.
Examples
The following example refers to the parent directory of a specified directory.
using namespace System;
using namespace System::IO;
int main()
{
// Make a reference to a directory.
DirectoryInfo^ di = gcnew DirectoryInfo( "TempDir" );
// Create the directory only if it does not already exist.
if ( !di->Exists )
di->Create();
// Create a subdirectory in the directory just created.
DirectoryInfo^ dis = di->CreateSubdirectory( "SubDir" );
// Get a reference to the parent directory of the subdirectory you just made.
DirectoryInfo^ parentDir = dis->Parent;
Console::WriteLine( "The parent directory of '{0}' is '{1}'", dis->Name, parentDir->Name );
// Delete the parent directory.
di->Delete( true );
}
using System;
using System.IO;
public class MoveToTest
{
public static void Main()
{
// Make a reference to a directory.
DirectoryInfo di = new DirectoryInfo("TempDir");
// Create the directory only if it does not already exist.
if (!di.Exists)
di.Create();
// Create a subdirectory in the directory just created.
DirectoryInfo dis = di.CreateSubdirectory("SubDir");
// Get a reference to the parent directory of the subdirectory you just made.
DirectoryInfo parentDir = dis.Parent;
Console.WriteLine("The parent directory of '{0}' is '{1}'", dis.Name, parentDir.Name);
// Delete the parent directory.
di.Delete(true);
}
}
open System.IO
// Make a reference to a directory.
let di = DirectoryInfo "TempDir"
// Create the directory only if it does not already exist.
if not di.Exists then
di.Create()
// Create a subdirectory in the directory just created.
let dis = di.CreateSubdirectory "SubDir"
// Get a reference to the parent directory of the subdirectory you just made.
let parentDir = dis.Parent
printfn $"The parent directory of '{dis.Name}' is '{parentDir.Name}'"
// Delete the parent directory.
di.Delete true
Imports System.IO
Public Class MoveToTest
Public Shared Sub Main()
' Make a reference to a directory.
Dim di As New DirectoryInfo("TempDir")
' Create the directory only if it does not already exist.
If di.Exists = False Then
di.Create()
End If
' Create a subdirectory in the directory just created.
Dim dis As DirectoryInfo = di.CreateSubdirectory("SubDir")
' Get a reference to the parent directory of the subdirectory you just made.
Dim parentDir As DirectoryInfo = dis.Parent
Console.WriteLine("The parent directory of '{0}' is '{1}'", dis.Name, parentDir.Name)
' Delete the parent directory.
di.Delete(True)
End Sub
End Class
Remarks
Important
In .NET Framework, Parent
returns a relative path.
In .NET Core, Parent
returns a fully qualified path.
To ensure consistent behavior across versions and to make your intent explicit, retrieve the value of one of the following properties on the DirectoryInfo instance returned by Parent
.
- Name, which returns the simple name of the directory (such as
bin
). - FullName, which returns the absolute path of the directory.
For a list of common I/O tasks, see Common I/O Tasks.