public static string[] FilePathsFromDirectory(DirectoryInfo directoryInfo) { List paths = new List(); foreach (FileInfo fileInfo in directoryInfo.GetFiles()) { paths.Add(fileInfo.FullName); } foreach (DirectoryInfo dirInfo in directoryInfo.GetDirectories()) { foreach (string str in FilePathsFromDirectory(dirInfo)) { paths.Add(str); } } return paths.ToArray(); } public static bool CheckAgainstStringArray(string str, string[] stringArray) { foreach (string arrayString in stringArray) { if (str == arrayString) { return true; } } return false; }