C# 入门之终止循环

在使用循环的过程中,有可能循环代码会包含很多内容,当某个条件达到时,我们可以判断不需要继续运行循环了,要退出循环,或终止本轮循环,开始新的一轮循环时,我们需要在我们代码中加入终止循环的指令,来结束循环。

结束循环的指令有:

  • brake
  • continue

那么这两个指令有什么区别呢?

首先我们来看一个不加任何终止循环代码的示例:输出 0-9 的数字

using System;

namespace breakTest
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            while (i < 10)
            {
                Console.WriteLine($"{i}");
                i = ++i;
            }
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210906/20099494q9pROsFWyA.png

然后我们在代码中添加 brake:

using System;

namespace breakTest
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            while (i < 10)
            {
                Console.WriteLine($"{i}");
                i = ++i;
                if (i == 5)    // 如果 i 等于 5,则运行 break 代码
                {
                    break;
                }
            }
        }
    }
}

运行结果:当 i 等于 5 时,结束了整个循环。后面的数字都没有输出。
https://ithelp.ithome.com.tw/upload/images/20210906/20099494a214VBKYkK.png

更改代码,使用 continue

using System;

namespace breakTest
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 0;
            while (i < 10)
            {
                if (i == 5)    // 如果 i 等于 5,i 加 1 然后运行 continue 退出本次循环
                {
                    i = ++i;
                    continue;
                }
                Console.WriteLine($"{i}");
                i = ++i;
            }
        }
    }
}

运行结果:通过结果,我们可以看到,5 并没有被输出,因为当 i 等于 5 的时候,continue 结束了本轮循环,开始了新的一轮循环,所以结果就跳过了5,输出了 6;
https://ithelp.ithome.com.tw/upload/images/20210906/20099494UnzzzWSCYS.png

有兴趣的可以试试,将 continue 示例中,if 代码块中的 i=++i 给去掉,然后运行代码,看一下结果是怎么样的,为什么会有这样的结果?


<<:  Day7: [资料结构]Stack —堆叠和Queue— 伫列

>>:  XML Parsers

认识与建立CSS样式表(DAY7)

在第一篇介绍时提到Html就像礼物的实体,而我们现在要认识的CSS样式表就像是礼物的外包装,要如何包...

DAY 7 - 棘刺壳章鱼

大家好 今天也来涂鸦献丑一下~ 本日想尝试一下阴影跟反光 今天目标是画一只类似章鱼但是却有拥有带刺壳...

[Vue]ElementUI组件模板之自动完成el-autocomplete

1.原本的input 改为 el-autocomplete 并加上 :fetch-suggestio...

Day34 - Windows 提权(5)-WinPEAS

WinPEAS WinPEAS 提供许多脚本可以确认目标系统为 Windows 中是否存在弱点以及不...

铁人赛28天 VScode Live Sass设定

这几天确定真的都没梗,极度没有营养的内容,所以今天把之前liveSass设定贴上来做为用记录,不过现...