方法一:
string dirPath = @"D:\App1"; List<string> dirs = new List<string>(Directory.GetDirectories(dirPath, "*", System.IO.SearchOption.AllDirectories)); foreach (var dir in dirs) { Console.WriteLine("{0}", dir); } Console.WriteLine("{0} directories found.", dirs.Count);
方法二:
string dirPath = @"D:\App1"; List<string> dirs = ListDirectory(dirPath); private static List<string> ListDirectory(string dirPath) { List<string> dirs = new List<string>(Directory.EnumerateDirectories(dirPath)); List<string> result = new List<string>(); foreach (var dir in dirs) { result.Add(string.Format("{0}", dirPath + "\\" + dir.Substring(dir.LastIndexOf("\\") + 1))); Console.WriteLine("{0}", dirPath + "\\" + dir.Substring(dir.LastIndexOf("\\") + 1)); result.AddRange(ListDirectory(dir)); } return result; }