これも .NET 4 から追加された様です。
Directory.EnumerateFiles メソッド (String, String, SearchOption) (System.IO)
パラレルも併せて使ってみました。
// デスクトップの .txt ファイルを一括削除 Directory.EnumerateFiles(@"c:\users\hoge\Desktop", "*.txt").AsParallel().ForAll(File.Delete);
Directory.GetFiles メソッド (System.IO) を使う場面は限られてくるのかな?*1
*1:全く無くなるかも