为了账号安全,请及时绑定邮箱和手机立即绑定

从调度程序继续执行前循环

从调度程序继续执行前循环

C#
慕森王 2022-09-04 17:06:07
我有一个前置循环,我在里面使用了调度程序,我里面有另一个前轮。我想在检查结果后继续第一个前叉。bool isNude = false;var SearchTask = Task.Run(async () =>{    foreach (var file in await GetFileListAsync(GlobalData.Config.DataPath))    {        isNude = false;        if (!ct.IsCancellationRequested)        {            await Dispatcher.InvokeAsync(() =>            {                if (ButtonNude.IsChecked == true)                {                    foreach (var itemx in nudeData)                    {                        if (itemx.Equals(Path.GetFileNameWithoutExtension(file.FullName)))                        {                            isNude = true;                            break;                        }                    }                }                if (isNude)                    continue;            }, DispatcherPriority.Background);        }    }}, ct);但是继续不可用,我该怎么做?
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

正如我在评论中提到的,您的 lambda for 不知道它是否在循环中被调用,因此没有可用的。您需要 使用 来退出等待的任务,以便您的代码可以在等待的任务之后继续。Dispatcher.InvokeAsynccontinuereturn


bool isNude = false;

var SearchTask = Task.Run(async () =>

{

    foreach (var file in await GetFileListAsync(GlobalData.Config.DataPath))

    {

        isNude = false;

        if (!ct.IsCancellationRequested)

        {

            await Dispatcher.InvokeAsync(() =>

            {

                if (ButtonNude.IsChecked == true)

                {

                    foreach (var itemx in nudeData)

                    {

                        if (itemx.Equals(Path.GetFileNameWithoutExtension(file.FullName)))

                        {

                            isNude = true;

                            break;

                        }

                    }

                }

                if (isNude)

                    return; // continue -> return


                // other code

                }, DispatcherPriority.Background);


                // <--- code continues here after return

            }

    }

}, ct);


查看完整回答
反对 回复 2022-09-04
  • 1 回答
  • 0 关注
  • 63 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信