C #: Obter os 5 arquivos mais recentes (última modificação) de um diretório

Existe uma maneira que eu posso armazenar o local do arquivo dos últimos 5 arquivos modificados de um diretório usandoArray?

No momento, estou usando os seguintes códigos abaixo para obter o último arquivo:

DateTime lastHigh = new DateTime(1900,1,1);
string highDir;
foreach (string subdir in Directory.GetDirectories(path)){
    DirectoryInfo fi1 = new DirectoryInfo(subdir);
    DateTime created = fi1.LastWriteTime;

    if (created > lastHigh){
        highDir = subdir;
        lastHigh = created;
    }
}

Eu vou estar usandoArray para enviar vários arquivos para um endereço de e-mail como anexo.

ATUALIZAR

No momento, estou usando os códigos abaixo para obter os últimos arquivos modificados após 1 minuto:

string myDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures),
                  "Test Folder");
var directory = new DirectoryInfo(myDirectory);
DateTime from_date = DateTime.Now.AddMinutes(-1);
DateTime to_date = DateTime.Now;
var files = directory.GetFiles().Where(file => file.LastWriteTime >= from_date && file.LastWriteTime <= to_date);

Eu quero armazenar a lista de nomes de arquivos provenientes defiles

questionAnswers(2)

yourAnswerToTheQuestion