c # версия ответа @ qfactor77.Это лучший способ без LINQ.
string[] wildcards= {"*.mp4", "*.jpg"};
ReadOnlyCollection<string> filePathCollection = FileSystem.GetFiles(dirPath, Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, wildcards);
string[] filePath=new string[filePathCollection.Count];
filePathCollection.CopyTo(filePath,0);
теперь возвращает filePath
строковый массив.В начале вам нужно
using Microsoft.VisualBasic.FileIO;
using System.Collections.ObjectModel;
, также вам нужно добавить ссылку на Microsoft.VisualBasic