-2
while (true)
            {
                    while (true)
                    {
                        int h = ok_group_join(gr);
                        if (h == 0)
                            ok_group_post(gr);
                        else if (h == -1)
                        {
                          //How can I go to first while cycle?
                        }

我在我的代码中写了一条评论,我怎样才能从那里返回到第一个 while 循环?

4

3 回答 3

1
while (true)
            {
                string acc = "";
                lock (accslocker)
                {
                    if (accs.Count == 0)
                    {
                        break;
                    }
                    else
                        acc = accs.Dequeue();
                }
                string cook = od_auth(acc);
                if (cook != "badacc")
                {
                    string gr;
                    while (true)
                    {
                        int h = ok_group_join(gr);
                        if (h == 0)
                            ok_group_post(gr);
                        else if (h == -1)
                        {
                          //How can I go to first while cycle?
                          break;
                        }

break关键字会让你出去。

于 2012-12-03T19:10:20.703 回答
1

使用break.

else if (h == -1)
{
    break;
}

这将使您脱离当前的 while 循环,导致您退回到前一个 while 循环。

于 2012-12-03T19:10:45.500 回答
0

比使用 a 更好的break是将内部循环重写为不是 a while (true)

while (true)
{
    int h = 0;
    while (h != -1)
    {
        h = ok_group_join(gr);
        if (h == 0)
            ok_group_post(gr);
    }
 }
于 2012-12-03T19:30:52.200 回答