2009-09-22 5 views
4

Dans la documentation MSDN, il indique qu'il renvoie uniquement les noms de répertoires ("Valeur renvoyée Type: ... Un tableau de type Chaîne contenant les noms des sous-répertoires du chemin."), Mais dans leur exemple, ils se recurrent sans les concaténer, cela signifie-t-il qu'ils retournent les chemins complets?Directory.GetDirectories (chemin) renvoie-t-il des chemins complets ou uniquement des noms?

dire leur code exemple:

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

ne fonctionnerait pas si la méthode GetDirectories ne retourne les noms de répertoire!

Répondre

8

Comme spécifié dans le function's MSDN page:

Les noms renvoyés par cette méthode sont préfixé avec le répertoire informations fournies dans chemin [ed: le paramètre de la fonction].

+0

Bah, n'avait pas lu ce bit correctement! Pourrait vraiment faire sans que cela arrive aussi. . . –

5

Renvoie les chemins complets. Vous pouvez vérifier avec PowerShell:

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

Jamais pensé à utiliser PowerShell comme un .NET REPL rapide et sale. Brillant! –

+0

Ou essayez http://scriptcs.net/ – dahlbyk

Questions connexes