C# 如何转义 2 行循环

本文关键字:循环 转义 何转义 | 更新日期: 2023-09-27 18:31:11

这是我的代码:

while(true){
    for(int x = 0; x < 10; x++){
        StringArray[x] = new string();
        if(isDead){
            break; //break out of while loop also
        }
    }
}

请问我应该怎么做,对不起,如果我的英语很好,我还在学习。

C# 如何转义 2 行循环

将 while 循环更改为变量,然后将该变量设置为 false(例如isDead变量)

while(!isDead){
    for(int x = 0; x < 10; x++){
        StringArray[x] = new string();
        if(isDead){
            break; //break out of while loop also
        }
    }
}

这样,您的break将使您退出for循环,然后将isDead设置为 true 将停止执行while循环。

内联创建一个函数,并调用它。 使用 Returnfrom the Lambda。

var mt = () => {
    while(true){
        for(int x = 0; x < 10; x++){
            StringArray[x] = new string();
            if(isDead){
               return
            }
        }
    }    
}
mt();

据我了解,您想在一个条件下中断 2 个循环。您可以执行以下操作

bool DirtyBool = true;
while(DirtyBool)
{
    for(int x = 0; x < 10; x++)
    {
        StringArray[x] = new string();
        if(isDead)
        {
            DirtyBool = false;
            break; //break out of while loop also
        }
    }
}

例如,您可以创建一个布尔值:

bool leaveLoop;
如果 isDead 为 true,则将 leaveLoop 设置为 true,

在 while 循环中,然后检查 leaveLoop 是否为 true 以脱离它。

试试下面:

bool bKeepRunning = true;
while(bKeepRunning){
    for(int x = 0; x < 10; x++){
       StringArray[x] = new string();
       if(isDead){
         bKeepRunning = false;
         break; 
    }
    }
}

在这种情况下,我最喜欢的方法是将代码移动到一个单独的例程中,并在需要中断时简单地从中返回。 无论如何,两个循环的复杂性与我喜欢包含在单个例程中的一样多。

您可以使用

goto

    while(true){
        for(int x = 0; x < 10; x++){
            StringArray[x] = new string();
            if(isDead){
                goto EndOfWhile; //break out of while loop also
            }
        }
    }
EndOfWhile: (continue your code here)