C# 并行复制异步?
我当前正在将一些文件从我的C# 并行复制异步?,c#,uwp,C#,Uwp,我当前正在将一些文件从我的资产复制到我的本地存储文件夹中 我正在做的是工作,但我想知道是否有办法使该部分并行运行: foreach(文件中的存储文件f) { 等待f.copyanc(postes); } 我尝试过类似的方法,但它当然不起作用,因为copyanc没有返回任务,并且不能强制转换为任务: var tasks=newlist(); foreach(文件中的存储文件f) { var task=(task)f.copyanc(postes); 任务。添加(任务); } 等待任务; 完整
资产
复制到我的本地存储
文件夹中
我正在做的是工作,但我想知道是否有办法使该部分并行运行:
foreach(文件中的存储文件f)
{
等待f.copyanc(postes);
}
我尝试过类似的方法,但它当然不起作用,因为copyanc
没有返回任务
,并且不能强制转换为任务
:
var tasks=newlist();
foreach(文件中的存储文件f)
{
var task=(task)f.copyanc(postes);
任务。添加(任务);
}
等待任务;
完整代码:
public异步任务loadDefaultPosteInformation同步()
{
StorageFolder localFolder=ApplicationData.Current.localFolder;
StorageFolder postes=等待localFolder.CreateFolderAsync(“postes”);
StorageFolder appInstalledFolder=Windows.ApplicationModel.Package.Current.InstalledLocation;
StorageFolder assets=await appInstalledFolder.GetFolderAsync(@“assets\Postes”);
var files=await assets.getfileasync();
foreach(文件中的存储文件f)
{
等待f.copyanc(postes);
}
}
您可能正在寻找。这似乎是一个很好的解决方案,但当我键入Task.AsTask()
时,它找不到方法。它是IAsyncOperation
上的扩展方法,而不是Task
上的方法。它应该通过引用和使用系统
命名空间(如果出于某种原因还不是这样)来提供。然后应编译f.copyanc(postes).AsTask()
。(免责声明:未测试。)哦,是的,现在它可以工作了,非常感谢:)您可能正在寻找。这似乎是一个很好的解决方案,但当我键入Task.AsTask()
时,它找不到该方法。它是IAsyncOperation
上的扩展方法,而不是任务上的方法。它应该通过引用和使用系统
命名空间(如果出于某种原因还不是这样)来提供。然后应编译f.copyanc(postes).AsTask()
。(免责声明:未经测试。)哦,是的,现在它可以工作了,非常感谢:)