C# 如何正确使用GetFolderAsync()?

C# 如何正确使用GetFolderAsync()?,c#,.net,windows-runtime,microsoft-metro,windows-store-apps,C#,.net,Windows Runtime,Microsoft Metro,Windows Store Apps,在我的Windows应用商店应用程序中,我始终使用: StorageFolder folder = await KnownFolders.DocumentsLibrary.GetFolderAsync("Folder Name"); if(folder != null) { // Folder exists. Open it and load any existing files. IReadOnlyList<StorageFile> files = await fo

在我的Windows应用商店应用程序中,我始终使用:

StorageFolder folder = await KnownFolders.DocumentsLibrary.GetFolderAsync("Folder Name");
if(folder != null)
{
    // Folder exists. Open it and load any existing files.
    IReadOnlyList<StorageFile> files = await folder.GetFilesAsync();

    // We now have the files. Do something with them.
}
else
{
    // Folder does not exist. Create it.
    folder.CreateFolderAsync("Folder Name", CreationCollisionOption.OpenIfExists);
}
StorageFolder folder=wait KnownFolders.DocumentsLibrary.GetFolderAsync(“文件夹名称”);
如果(文件夹!=null)
{
//文件夹已存在。请打开它并加载任何现有文件。
IReadOnlyList files=await folder.getfileasync();
//我们现在有文件了,处理一下吧。
}
其他的
{
//文件夹不存在。请创建它。
folder.CreateFolderAsync(“文件夹名称”,CreationCollisionOption.OpenIfExists);
}

但是刚才,我想,为什么我不能这样做呢

StorageFolder folder = await KnownFolders.DocumentsLibrary.CreateFolderAsync("Folder Name", CreationCollisionOption.OpenIfExists);

IReadOnlyList<StorageFile> files = await folder.GetFilesAsync();

if(files != null)
{
    // We now have the files. Do something with them.
}
StorageFolder folder=wait KnownFolders.DocumentsLibrary.CreateFolderAsync(“文件夹名称”,CreationCollisionOption.OpenIfExists);
IReadOnlyList files=await folder.getfileasync();
如果(文件!=null)
{
//我们现在有文件了,处理一下吧。
}


据我所知,我写的第一段代码是“标准”方式——或者更常见的方式。但由于第二种方法也有效,我现在不确定使用哪种方法。它们都能工作,但是有什么理由我不应该用第二种方法来做吗?

第二段代码工作得更好,为什么

在文档库中尝试使用文件夹

await KnownFolders.DocumentsLibrary.CreateFolderAsync("Folder Name", CreationCollisionOption.OpenIfExists);
CreationCollisionOption.OpenIfExists
将创建一个不存在的特定文件夹

在第一个代码块中,else块中的行永远不会调用

folder.CreateFolderAsync("Folder Name", CreationCollisionOption.OpenIfExists);
如果您没有试图打开的文件夹,则会引发异常
System.IO.FileNotFoundException