CopyAsync параллельно? - PullRequest
       1

CopyAsync параллельно?

1 голос
/ 24 апреля 2019

Я сейчас копирую некоторые файлы из моего 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...