2009-09-22 212 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