如何取消并行操作并返回部分结果列表?

时间:2016-01-27 16:18:01

标签: c# task-parallel-library plinq cancellation cancellation-token

我对数据列表进行了长时间的并行操作:

List<FileDto> attachmentDtos = msg.Attachments.AsParallel().Select(attachment => DownloadAttachment(attachment, folder, msg, element, cancellationTokn)).Where(x=>x!=null).ToList();

在这种情况下,我使用AsParallel下载附件列表,我希望能够取消这部分方式。现在这样做的方法是在调用cancellationToken时返回null并过滤列表中的空值。

有更简洁的方法吗?

0 个答案:

没有答案