我可以从循环内的回调继续for循环吗?

时间:2020-06-01 16:25:15

标签: c# selenium automation

我正在c#中使用计时器同时进行硒元素检查。如果找到元素,则回调将调用,那么我需要继续for循环。
这是我的代码,无法正常工作。有什么建议吗?

for (i = 0; i < list.length(); i++) {
    //statement
    mycallback((s) => { if(s) continue; }); // continue here
    //statement
}

1 个答案:

答案 0 :(得分:0)

C#中,您可以使用labels转到所需的位置。 他们将程序控制权直接转移到labeled语句

查看下面的代码段:

for (i = 0; i < list.length(); i++) {
    //statement

    mycallback((s) => { if(s) goto myLabel; });

    // continue here
    myLabel: // parts of your code

    //statement
}

尽管在某些情况下可能会有用,但不建议这样做。

有关此语法的更多信息: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/goto

有关使用标签的更多讨论:Does anyone still use [goto] in C# and if so why?