public async Task Converter(List <string> arq, IProgress <string> progresso, CancellationToken ct) { var task = arq.Select(arquivo => Task.Factory.StartNew(() => { ct.ThrowIfCancellationRequested(); ConvertTo.ConverterXLSX(DiretorioTemp + arquivo); File.Delete(DiretorioTemp + arquivo); if (!File.Exists(DiretorioDataExtraida + "\\" + arquivo + "x")) { File.Move(DiretorioTemp + arquivo + "x", DiretorioDataExtraida + "\\" + arquivo + "x"); progresso.Report(arquivo); } ct.ThrowIfCancellationRequested(); }) ); await Task.WhenAll(task); }