2009-09-22 144 views
4

在MSDN文档中,它表示它只返回目录名称(“返回值 类型:... 包含路径中子目录名称的String类型数组”),但是在它们的示例代码中,它们递归没有连接它们,这是否意味着它们会返回完整的路径?Directory.GetDirectories(路径)是否返回完整路径或名称?

即他们的示例代码:

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); 
} 

是行不通的,如果GetDirectories方法只返回目录名!

回答

8

function's MSDN page指定:

此方法返回的名称是 与路径提供的目录信息 前缀[ED:所述参数给函数。

+0

Bah,没有正确读取该位!如果没有这样的事情,真的可以做到。 。 。 – 2009-09-22 18:12:04

5

它返回完整路径。您可以使用PowerShell进行验证:

[IO.Directory]::GetDirectories('C:\') 
+0

从来没有想过使用PowerShell作为快速和肮脏的.NET REPL。辉煌! – 2015-01-22 20:36:02

+0

或尝试http://scriptcs.net/ – dahlbyk 2015-01-22 20:53:43