我想在后台执行任务而不冻结主用户界面。但是,我在C#中使用带有匿名函数的Task.Run()时遇到了一些问题,因为它似乎没有执行代码。我认为我的实施可能不正确。
private List<string> GetPdfList
{
get
{
return File.Directory.GetFiles(PDF_FILE_DIRECTORY);
}
}
private void InitializePdf()
{
if (GetPdfList.Count > 0)
{
foreach (var pdf in GetPdfList)
{
var converter = new PdfConvertor();
var format = ImageFormat.Png;
converter.Convert(pdf, TempFolder, format);
}
}
}
public MainForm()
{
InitializeComponent();
Task.Run(() =>
{
InitializePdf();
});
}
我认为问题出在 foreach范围