C# 将CommonFileQuery传递到StorageFolder.GetFileAsync()时发生ArgumentException

C# 将CommonFileQuery传递到StorageFolder.GetFileAsync()时发生ArgumentException,c#,windows-phone-8.1,C#,Windows Phone 8.1,我正在尝试使用Windows Phone 8.1 RT中的getfileasync()方法从StorageFolder读取一组StorageFile。 如果只检索文件,该方法可以正常工作,但当传递任何CommonFileQuery对文件进行排序时,会抛出ArgumentException。 我想检索按创建日期排序的文件,因此我传递了CommonFileQuery.OrderByDate,但得到了以下堆栈跟踪: Value does not fall within the expected ran

我正在尝试使用Windows Phone 8.1 RT中的
getfileasync()
方法从
StorageFolder
读取一组
StorageFile

如果只检索文件,该方法可以正常工作,但当传递任何
CommonFileQuery
对文件进行排序时,会抛出
ArgumentException

我想检索按创建日期排序的文件,因此我传递了
CommonFileQuery.OrderByDate
,但得到了以下堆栈跟踪:

Value does not fall within the expected range.
at Windows.Storage.StorageFolder.GetFilesAsync(CommonFileQuery query)
at FileGetters.FileGetterMethods.<GetMyFilesAsync>d__19.MoveNext()
值不在预期范围内。
位于Windows.Storage.StorageFolder.GetFileAsync(CommonFileQuery)
在FileGetters.FileGetterMethods.d_u19.MoveNext()中

我如何获得特定文件夹中按日期排序的所有文件的排序列表?

很抱歉告诉您,
CommonFileQuery
显然只能用于库文件夹

System.ArgumentException:您从CommonFileQuery枚举为非库文件夹的文件夹指定了一个值,而不是DefaultQuery。检查查询的值

资料来源:

可以使用类
KnownFolders
访问库文件夹(请参阅)

但以下是您可以做的:

IEnumerable<StorageFile> files = await myFolder.GetFilesAsync();
IOrderedEnumerable<StorageFile> orderedFiles = files.OrderBy(f => f.DateCreated);
IEnumerable files=wait myFolder.getfileasync();
IOrderedEnumerable orderedFiles=files.OrderBy(f=>f.DateCreated);

是的,这就是我最后使用的。但什么是库文件夹?它们是由操作系统本身创建的文件夹吗,如
KnownFolders
?根据MSDN,是的。我将相应地编辑我的Answare,谢谢您的输入!