【转】C#中continue、break和return用法
-
continue和break的用法一样,直接写上这个单词,后面加一个分号就行
比如:
continue;
break;
-
我们先来谈continue
看代码
for (int i=0; i<10; i++)
{
Console.Write(i);
}
这个程序的意思输出从0到9的数字
-
那如果我在i等于3的时候,我不想输出,那该怎么办呢?那就要用到continue了,在等于3的时候,我们用continue来跳过他,代码如下
for (int i=0; i<10; i++)
{
if (i == 3)
{
continue;
}
Console.Write(i);
}
当i==3的时候,执行continue;程序直接跳回for里面执行,而 Console.Write(i);在本轮循环中不再执行,实际上就是跳过去了
-
如果想要跳过i等于4,方法也一样
for (int i=0; i<10; i++)
{
if (i == 3)
{
continue;
}
Console.Write(i);
}
-
现在大家应该明白,continue的意思就是,跳过当次循环,去执行下一次
这里强调一下,是跳过当次循环,而不是跳过所有循环
比如嵌套循环
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 4)
{
continue;
}
Console.Write(j);
}
}
这个执行结果可以看出,j自增的循环跳过了,i自增的循环没有跳过,continue跳过了红框的循环,没有跳出绿框的循环
如果大家不理解,没事,你只要知道它能跳过当次循环就行,以后遇到了,自已按自种情况测试一下,就很简单明了了
-
现在说break;break和continue不一样的地方是,break是中断当前循环的,就是说,不仅当次的循环不执行,再下去的所有循环也不执行了
for (int i = 0; i < 10; i++)
{
if (i == 4)
{
break;
}
Console.Write(i);
}
如图,从i等于4开始的循环被中止了,只输出到3就不再往下输出
当i==4的时候,程序执行break,然后直接中断循环,接下来的 Console.Write(i);都不会输出了
-
break和continue一样,也是只作用于一层循环
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (j == 4)
{
break;
}
Console.Write(j);
}
}
如图,j自增的这层循环到j等于4时被中止, i自增的这层循环一直执行
-
我们再来看看while循环下的continue;
int i = 0;
while (i < 10)
{
i++;
if (i == 4)
{
continue;
}
Console.Write(i);
}
看结果,跟for循环使用方式是一样的
-
我们再来看看while循环下的break
int i = 0;
while (i < 10)
{
i++;
if (i == 4)
{
break;
}
Console.Write(i);
}
跟for循环的使用方式也是大同小异,须要注意的是,while循环中使用的continue和break也都一样,只作用于一层循环