あるフォルダのなかにあるファイルをすべて取得するのであれば

これで取得できます。ところがフォルダのなかのファイルを調べようとするとアクセス拒否される場合があります。この場合は例外が発生して処理が止まってしまいます。これではファイルやフォルダのリストを取得することができません。そんなときはどうすればよいのでしょうか?

このようなときは Directory.GetFilesメソッドの第3引数を SearchOption.AllDirectories にはしないで、SearchOption.TopDirectoryOnlyとして、再帰呼び出しをするしかないのではないでしょうか?

アクセス拒否の例外が発生したらそのフォルダは飛ばして、取得できるものだけ取得します。

以下のメソッドではアクセス拒否などの例外が発生した場合はそのフォルダのパスも記録しています。

エクスプローラーを使えばそのフォルダのなかにあるファイルを名前順、更新日時順、ファイルのサイズ順に並べ替えることができます。そのフォルダだけでなくそのフォルダ内のフォルダも調査対象としてファイルを名前順、更新日時順、ファイルのサイズ順に並べ替えるアプリケーションをつくってみると面白いかもしれません。

C:\Program Files\Mozilla Firefoxフォルダのファイルをファイルサイズが大きい順に並べています。