1

此示例仅返回文件夹中的顶级文件:

var myFiles = await tempFolder.GetFilesAsync();

但是如何以递归方式获取文件或文件夹?这是使用 QueryOptions 的 javascript 答案,但这不是 C# 中的选项

这个问题的Javascript版本

4

1 回答 1

1

恕我直言,GetFilesAsync 采用 CommonFileQuery 枚举并不是那么直观和令人困惑,但它们的值根本没有暗示它们的真正含义。

MSDN 记录了它,但如果您不开始阅读 MSDN 的每种方法,它仍然会令人困惑。 CommonFileQuery 枚举

这些将仅返回顶级文件:

var myFiles = await tempFolder.GetFilesAsync();
var myFiles = await tempFolder.GetFilesAsync(CommonFileQuery.DefaultQuery);

虽然这些其他枚举值将执行递归文件列表,并对列表进行排序,但它确实做了两件事。

var myFilesRecursive = await tempFolder.GetFilesAsync(CommonFileQuery.OrderByName);
var myFilesRecursive = await tempFolder.GetFilesAsync(CommonFileQuery.OrderByDate);

如果您进行递归(深度)查询,似乎您只能对列表进行排序。

对我来说,以这种方式实现它没有多大意义,因此把它放在这里作为其他人的问答。

像这样的东西可能更有用和直观:

var myPreferredFileList = await tempFolder.GetFilesAsync(CommonFileQuerySort.OderByName, CommonFileQueryView.Deep);
于 2013-01-21T19:38:02.697 回答