DirectoryInfo.GetDirectories Method (String)
Returns an array of directories in the current DirectoryInfo matching the given search criteria.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- searchPattern
-
Type:
System.String
The search string to match against the names of directories. This parameter can contain a combination of valid literal path and wildcard (* and ?) characters (see Remarks), but doesn't support regular expressions. The default pattern is "*", which returns all files.
| Exception | Condition |
|---|---|
| ArgumentException | searchPattern contains one or more invalid characters defined by the GetInvalidPathChars method. |
| ArgumentNullException | searchPattern is null. |
| DirectoryNotFoundException | The path encapsulated in the DirectoryInfo object is invalid (for example, it is on an unmapped drive). |
| UnauthorizedAccessException | The caller does not have the required permission. |
searchPattern can be a combination of literal and wildcard characters, but doesn't support regular expressions. The following wildcard specifiers are permitted in searchPattern.
Wildcard specifier | Matches |
|---|---|
* (asterisk) | Zero or more characters in that position. |
? (question mark) | Zero or one character in that position. |
Characters other than the wildcard are literal characters. For example, the string "*t" searches for all names in ending with the letter "t". ". The searchPattern string "s*" searches for all names in path beginning with the letter "s".
This method pre-populates the values of the following DirectoryInfo properties:
The following example counts the directories in a path that contain the specified letter.
using System; using System.IO; class Test { public static void Main() { try { DirectoryInfo di = new DirectoryInfo(@"c:\"); // Get only subdirectories that contain the letter "p." DirectoryInfo[] dirs = di.GetDirectories("*p*"); Console.WriteLine("The number of directories containing the letter p is {0}.", dirs.Length); foreach (DirectoryInfo diNext in dirs) { Console.WriteLine("The number of files in {0} is {1}", diNext, diNext.GetFiles().Length); } } catch (Exception e) { Console.WriteLine("The process failed: {0}", e.ToString()); } } }
for reading from files and directories and for access to the path. Associated enumerations: FileIOPermissionAccess.Read, FileIOPermissionAccess.PathDiscovery
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0