问题
In the MSDN documentation, it says it returns just directory names("Return Value Type: ... An array of type String containing the names of subdirectories in path."), however in their example code, they recurse without concatenating them, so does that mean they return the full paths?
i.e. their example code:
public static void ProcessDirectory(string targetDirectory)
{
// Process the list of files found in the directory.
string [] fileEntries = Directory.GetFiles(targetDirectory);
foreach(string fileName in fileEntries)
ProcessFile(fileName);
// Recurse into subdirectories of this directory.
string [] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
foreach(string subdirectory in subdirectoryEntries)
ProcessDirectory(subdirectory);
}
would not work if the GetDirectories method only returned directory names!
回答1:
As specified in the function's MSDN page:
The names returned by this method are prefixed with the directory information provided in path [ed: the parameter to the function].
回答2:
It returns full paths. You can verify with PowerShell:
[IO.Directory]::GetDirectories('C:\')
来源:https://stackoverflow.com/questions/1461652/does-directory-getdirectoriespath-return-full-paths-or-just-names