遍历文件和文件夹

  1. public static IEnumerable<FileInfo> getFiles(DirectoryInfo d)
  2. {
  3.     return getFiles(d, "*.*");
  4. }
  5.  
  6. /// <summary>
  7. /// method for recursively getting all the files
  8. /// in the provided directory
  9. /// </summary>
  10. /// <param name="d">DirectoryInfo we're looking at</param>
  11. /// <param name="pattern">search patters (i.e; *.*)</param>
  12. /// <returns></returns>
  13. public static IEnumerable<FileInfo> getFiles(DirectoryInfo d, string pattern)
  14. {
  15.     //loop through the entire directory
  16.     foreach (DirectoryInfo dirInfo in d.GetDirectories())
  17.     {
  18.         //loop through each file
  19.         foreach (FileInfo f in getFiles(dirInfo, pattern))
  20.             yield return f;
  21.     }               
  22.  
  23.     foreach (FileInfo f in d.GetFiles(pattern))
  24.         yield return f;
  25. }
原文地址:https://www.cnblogs.com/zhisong/p/IEnumerable.html