我正在尝试使用Windows Phone 8.1 RT中的StorageFile
方法从StorageFolder
中读取一组GetFilesAsync()
。
如果只检索文件,则该方法可以正常工作,但在传递任何ArgumentException
以对文件进行排序时会抛出CommonFileQuery
。
我想检索按创建日期排序的文件,因此我传递CommonFileQuery.OrderByDate
,但我得到以下stacktrace:
Value does not fall within the expected range.
at Windows.Storage.StorageFolder.GetFilesAsync(CommonFileQuery query)
at FileGetters.FileGetterMethods.<GetMyFilesAsync>d__19.MoveNext()
如何获取按日期排序的特定文件夹中存在的所有文件的排序列表?
答案 0 :(得分:1)
很遗憾地告诉您,CommonFileQuery
显然只能用于图书馆文件夹。
System.ArgumentException:您从CommonFileQuery枚举中为一个不是库文件夹的文件夹指定了DefaultQuery以外的值。检查查询的值
来源:MSDN.com
可以使用课程KnownFolders
(请参阅here)
但这是你可以做的:
IEnumerable<StorageFile> files = await myFolder.GetFilesAsync();
IOrderedEnumerable<StorageFile> orderedFiles = files.OrderBy(f => f.DateCreated);