このサンプルは、フォルダから最上位のファイルのみを返します。
var myFiles = await tempFolder.GetFilesAsync();
しかし、ファイルまたはフォルダーを再帰的に取得するにはどうすればよいですか?これがQueryOptionsを使用しているjavascriptの答えですが、それはC#のオプションではありません
このサンプルは、フォルダから最上位のファイルのみを返します。
var myFiles = await tempFolder.GetFilesAsync();
しかし、ファイルまたはフォルダーを再帰的に取得するにはどうすればよいですか?これがQueryOptionsを使用しているjavascriptの答えですが、それはC#のオプションではありません
私見ですが、GetFilesAsyncがCommonFileQuery列挙型をとるのはそれほど直感的で混乱を招くものではありませんが、それらの値は実際の意味をまったく示唆していません。
MSDNはそれを文書化していますが、すべてのメソッドについてMSDNを読むことから始めないと、混乱を招く可能性があります。 CommonFileQuery列挙
これらはトップレベルのファイルのみを返します:
var myFiles = await tempFolder.GetFilesAsync();
var myFiles = await tempFolder.GetFilesAsync(CommonFileQuery.DefaultQuery);
これらの他の列挙値は再帰的なファイルリストを実行し、さらにリストを順序付けするので、実際には2つのことを行います。
var myFilesRecursive = await tempFolder.GetFilesAsync(CommonFileQuery.OrderByName);
var myFilesRecursive = await tempFolder.GetFilesAsync(CommonFileQuery.OrderByDate);
再帰的な(深い)クエリを実行した場合にのみ、リストを並べ替えることができるようです。
私にとっては、このように実装することはあまり意味がなかったので、他の人へのQ&Aとしてここに載せました。
このようなものは、より便利で直感的である可能性があります。
var myPreferredFileList = await tempFolder.GetFilesAsync(CommonFileQuerySort.OderByName, CommonFileQueryView.Deep);