FileList is a simple file enumeration class that can be used to easily find sets of files. Provide it a list of directory and/or file names and simply let it figure it out. It will raise an event for custom filtering or has some simple attribute-level filtering built-in.
FileList files = new FileList(@"C:\Temp\*"); files.Add(@"C:\boot.ini"); files.Add(@"C:\*.bat"); files.RecurseFolders = true; files.Add(@"C:\Windows\system32"); foreach (FileInfo file in files) Console.WriteLine(file.Name);
As demonstrated above, you just cram stuff into it and enumerate.