read all files in a directory and subdirectory c# code example

Example 1: c# list all files in a directory and subdirectory

string[] allfiles = Directory.GetFiles("path/to/dir", "*.*", SearchOption.AllDirectories);

Example 2: list all files in directory and subdirectories c#

string[] entries = Directory.GetFileSystemEntries(path, "*", SearchOption.AllDirectories);

Example 3: get all files in all subdirectories c#

Directory.GetFiles(dirPath, "*", SearchOption.AllDirectories)

Example 4: how to get all files from folder and subfolders in c#

private IEnumerable<string> GetAllFiles(string path, string searchPattern)
  {
            return Directory.EnumerateFiles(path, searchPattern).Union(
                Directory.EnumerateDirectories(path).SelectMany(d =>
                {
                    try
                    {
                        return GetAllFiles(d, searchPattern);
                    }
                    catch (Exception)
                    {
                        return Enumerable.Empty<string>();
                    }
                }));
 }

//or special for c# and .cs files
        /*private List<string> GetAllCsFilesFromDirectory(string directory, string searchPattern)
        {
			List<string> lstFilesFound = new List<string>();
            try
            {
                foreach (string path in Directory.GetDirectories(directory))
                {
                    foreach (string item in Directory.GetFiles(path, CsharpFileExtension, SearchOption.AllDirectories))
                    {
                        lstFilesFound.Add(item);
                    }

                    GetAllCsFilesFromDirectory(path, searchPattern);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return lstFilesFound;
        }*/