c# break,continue,goto 跳出循环「建议收藏」

2022-09-05 09:59:02 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

1.break跳出循环

代码语言:javascript复制
protected int Test1()
{
    int index = 0;
    for (int i = 0; i < 5; i   ) {
        if (i == 2) {
            //单个循环,跳出整个for循环,
            //多个循环,跳出最内层for循环
            break; 
        }
        index = i;
    }
    return index;
}

2.continue跳出循环

代码语言:javascript复制
protected int Test2()
{
    int index = 0;
    for (int i = 0; i < 5; i  )
    {
        if (i == 2)
        {
            //多个循环,跳出最内层本次循环,但是继续执行最内层下一次循环
            //单个循环,跳出本次循环,但是继续执行下一次循环
            continue;
        }
        index = i;
    }
    return index;
}

3.goto 跳出循环

代码语言:javascript复制
protected string Test3()
{
    int indexI = 0;
    int indexJ = 0;

    a: //a层
    for (int i = 0; i < 5; i  )
    {
        b:  //b层
        for (int j = 0; j < 5; j  )
        {
            if (i == 3 && j == 2)
            {
                //如果多层循环,goto 跳转至指定位置,然后继续向下执行
                //以此条件为例:
                //跳至a,继续向下,会导致整个循环再一次被执行,造成整个程序一直无法结束,需要特别注意。
                //跳至b,继续向下,会导致里面循环再一次被执行,造成整个程序一直无法结束,需要特别注意。
                goto c; 
            }
            indexJ = i;
        }
        indexI = i;
    }
    c:;
    return "indexI="   indexI   "; indexJ="   indexJ;
}

0 人点赞