下のプログラムのような方法を検索しても古い記事しかでてきません。
もう少し新しいアルゴリズム、簡潔なものはありませんか?

// 二つのファイルの最終書き込み日時を取得して比較するメソッド
static int CompareLastWriteTime(string fileX, string fileY)
{
    return DateTime.Compare(File.GetLastWriteTime(fileX), File.GetLastWriteTime(fileY));
}

static void Main()
{
    // カレントディレクトリ直下にあるすべてのファイルを取得する
    string[] files = Directory.GetFiles(".");

    // 取得したすべてのファイルを最終書き込み日時順でソートする)
    Array.Sort(files, CompareLastWriteTime);

    // ソートした結果を表示
    foreach (string file in files) {
        // ファイル名と最終書き込み日時を表示
        Console.WriteLine("{0} {1}", File.GetLastWriteTime(file), file);
    }
}