我目前正在将Assets
中的某些文件复制到LocalStorage
文件夹中。
我正在做什么,但是我想知道是否有一种方法可以使该部分并行运行:
foreach (StorageFile f in files)
{
await f.CopyAsync(postes);
}
我尝试了类似的操作,但由于CopyAsync
不返回Task
并且不能转换为Task
,因此它当然不起作用:
var tasks = new List<Task>();
foreach (StorageFile f in files)
{
var task = (Task)f.CopyAsync(postes);
tasks.Add(task);
}
await Task.WhenAll();
完整代码:
public async Task loadDefaultPosteInformationAsync()
{
StorageFolder localFolder = ApplicationData.Current.LocalFolder;
StorageFolder postes = await localFolder.CreateFolderAsync("Postes");
StorageFolder appInstalledFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder assets = await appInstalledFolder.GetFolderAsync(@"Assets\Postes");
var files = await assets.GetFilesAsync();
foreach (StorageFile f in files)
{
await f.CopyAsync(postes);
}
}