public class DirectoryAllFiles
{
    static List<FileInformation> FileList = new List<FileInformation>();
    public static List<FileInformation> GetAllFiles(DirectoryInfo dir)
    {
        FileInfo[] allFile = dir.GetFiles();
        foreach (FileInfo fi in allFile)
        {
            FileList.Add(new FileInformation { FileName = fi.Name, FilePath = fi.FullName });
        }
        DirectoryInfo[] allDir = dir.GetDirectories();
        foreach (DirectoryInfo d in allDir)
        {
            GetAllFiles(d);
        }
        return FileList;
    }
}
public class FileInformation
{
    public string FileName { get; set; }
    public string FilePath { get; set; }
}
public void test()
{
    List<FileInformation> list = DirectoryAllFiles.GetAllFiles(new System.IO.DirectoryInfo(@"F:\分类\"));
    foreach (var item in list)
    {
        text.Text += item.FilePath + "\n";
    }
}